Siatka pixeli + możliwość kliknięcia

0

Witajcie, miałabym do Was prośbę. Podsunelibyście mi pomysł w jaki sposób stworzyć siatkę 10x10pixeli (jeden kwadracik) w objętości całej strony, bym mogła kliknąć w dany kwadracik oraz stworzyć dla niego jakies akcje? Zaczełam uczyć się php i uznalam ze dobrym przykladem do nauki bedzie napisanie nowego milion pixels website jako treningu, nie prosze was drodzy programisci o gotowy kod ale o podsuniecie pomyslu w jaki sposob to zrobici. Dziekuje serdecznie

0

Wygeneruj tabelę N x M

komórka tabeli o pozycji Ni x Mi jest wybraną opcją, pod którą coś się kryje

0

Pobierz rozdzielczosc ekranu (szer/wys) Wygeneruj tabele z komorkami i wierszami z ustawienia ekranu np. 1024/768 -- przykladowo. 1024 piksele szerokosci i tyle samo komorek w rzedzie i 768 pikseli / komorek w pionie. Po kazdym wierszu "łam" wiersz i przechodz do nowego.

0

A w jaki sposob zrobić, żeby zarejestrowani użytkownicy mogli zmieniać obrazki w tabeli i żeby robiło się to automatycznie?

0
  1. Logowanie i Rejestracja
  2. Upload obrazków na serwer
0

Zainteresuj sie f. array_rand(), rand()



<?php
//generowanie losowego numeru z przedzialu 1-30 liczba ta jest jeboczesnie nazwa pliku .png

$random = rand(1,30);

$image = <<<HERE
<img src="{$random}.png" alt="{$random}" />
HERE;
?>


<?php print $image; ?>

0

Witajcie, miałabym do Was prośbę. Podsunelibyście mi pomysł w jaki sposób stworzyć siatkę 10x10pixeli (jeden kwadracik) w objętości całej strony, bym mogła kliknąć w dany kwadracik oraz stworzyć dla niego jakies akcje?

Można po prostu zrobić ileś kwadracików z przypisanym position:absolute i wyliczonymi współrzędnymi x, y: https://codepen.io/anon/pen/omWPqm
(inna opcja: wariacja tego, tylko z użyciem właściwości transform zamiast left i top. Jeszcze inna opcja - użycie tabelki. Albo grida z CSS3. Albo można użyć Canvasa.

Tylko... widzę problem z samym sensem fizycznego tworzenia kwadracików - może być problem z wydajnością, bo najpierw te kwadraciki trzeba byłoby utworzyć i na dodatek one by tam były i zajmowały zasoby. Trochę to mogłoby wyjść słabo pod kątem wydajności (jeszcze też zależy pewnie na jakim urządzeniu).

Może więc zrobić wirtualne kwadraciki, tzn. wychwytywać po prostu zdarzenia myszy na całej stronie i liczyć współrzędne kwadratu
coś jak

const rectX =  Math.floor(e.pageX / rectSize);
const rectY =  Math.floor(e.pageY / rectSize);

(ew. można jako pomoc wizualną narysować same linie poziome i pionowe, w ten sposób byłoby mniej obiektów (np. żeby narysować siatkę 100x100 trzeba byłoby zrobić 10 tysięcy kwadracików, a jeśli rysujesz tylko linie, to tylko 198 linii (albo 202, zależy czy z zewnętrznymi)).

Jeszcze jest opcja gradientu CSS, który mógłby emulować linie/kwadraciki, jestem ciekaw jak z wydajnością.

Albo Canvas, który jest dosyć głupi (ale to zaleta może być) i trzyma tylko narysowane piksele (chociaż też trzeba byłoby sprawdzić, ile czasu zajęłoby rysowanie).

Ew. WebGL idąc dalej (ale to akurat najtrudniejsza opcja).

0

Po pierwsze - PHP działa po stronie serwera, więc nie ma za bardzo możliwości pobrania sobie wymiarów ekranu. Do tego potrzebujesz JavaScript. Tak samo jak do dużej części potrzebnych Ci tematów. W każdym razie - moim zdaniem ten wątek powinien być w JS a nie PHP.

Po drugie - zastanów się, jak się ma strona zachowywać podczas zmiany rozmiaru. Czy kwadraciki zawsze mają mieć stały rozmiar, czy mają się skalować?

Po trzecie - do ćwiczeń może nie rób tysięcy kwadratów, ale np. 4x4 i na tym eksperymentuj. Łatwiej Ci będzie to ogarnąć na czymś mniejszym, a jak już to zrobisz i będziesz miała działające 4x4 to potem trzeba będzie to poszerzyć.

Po czwarte - tak, jak pisali przedmówcy, nie twórz tysięcy elementów (np. <div> czy <img>), ale narysuj jakąś siatkę, a potem przeliczaj współrzędne kliknięć i podejmuj stosowne akcje.

Po piąte - mam wrażenie, że jesteś zupełnie początkująca (to nie zarzut, tylko stwierdzenie, każdy się kiedyś zaczynał uczyć ;), ale zamiast się skupić na podstawach, od razu startujesz z "grubej rury", chcesz mieć tysiące kwadracików, logowanie, możliwość zmiany treści przez użytkowników itp. Oczywiście, to wszystko jest do ogarnięcia, ale chyba trochę na to za wcześnie. Na razie mam wrażenie, jakby ktoś po 4 lekcjach pływania miał zamiar wpław do Szwecji się dostać ;)

1 użytkowników online, w tym zalogowanych: 0, gości: 1