• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

DOM zamiast canvas

0 głosów
75 wizyt
pytanie zadane 17 listopada 2018 w JavaScript, jQuery, AJAX przez MrxCI Dyskutant (8,290 p.)

Witam, tworze dość rozbudowane moim zdaniem gry w oparciu o DOM wykorzystując HTML i CSS (w końcu document, całe drzewo ma swoje odwzorowanie JS, a CSS można użyc do mechaniki animacji itd. to wlasnie wykorzystuje) JS pisze obiektowo, klasami, mapy, obiekty są generowane z poziomu kodu i wczytywane jako gotowe do DOM, na nich manipulują ich wlasne prywatne metody.. dużo jest tego, ale mniejsza, pytanie skłania się do tego, czy robienie tego w oparciu o DOM jest dobrym rozwiązaniem, czy może z wielkim bólem (bo nie znam) byłoby przerzucenie się na canvas? I robienie tego samego w oparciu o canvas?

Oczywiście robienie tego na samym DOM ma swoje problemy, jak np. transform w css dziedziczy się dla elementow wewnętrznych co utrudnia robienie wielo poziomowych animacji, ale nie wiem jak to ma się do canvas.

1 odpowiedź

+1 głos
odpowiedź 17 listopada 2018 przez sebeks Gaduła (4,820 p.)
Kodu nie widzimy, ale moim zdaniem jeśli to jest gra, gdzie łatwo Ci się ją pokazuje za pomocą HTML to zamiast manipulacjami DOM chyba lepiej użyć biblioteki React lub Vue. Natomiast za pomocą canvas możesz rysować grafikę i tworzyć animacje. Można też użyć obu technik i tylko część gry wyświetlić w canvas, a np. menu zrobić poza canvas.

Sam od miesiąca dużo myślę nad grą w przeglądarce dla pojedynczego gracza z przechowywaniem danych w localStorage. Jeśli ruszę z projektem to będę używał React (znam jedynie podstawy) i React Router (tego chcę się nauczyć) oraz create-react-app, by to uruchomić. I to będzie widok gry. Będzie jeden oddzielny prosty kontroler, który będzie jedynie zapisywał obiekt gry w localStore i pobierał stamtąd dane. Do trzymania danych w grze użyje Redux (tego też będę chciał się nauczyć). W canvas będę jedynie rysował mapę gry. Rysowanie canvas będzie przy każdym renderowaniu komponentu React i nie będę miał tam żadnych animacji.

Zastanawiam się też czy robić grę dla jednego gracza i potem przerobić ten projekt na wersję multiplayer, czy od razu pisać ją pod multiplayer. Wersja dla wielu graczy wymagała by też dorobienia prostego forum do gry, co podniosło by nakład pracy, ale nie musiałbym wtedy pisać sztucznej inteligencji dla graczy komputerowych.

Podobne pytania

0 głosów
2 odpowiedzi 93 wizyt
pytanie zadane 27 sierpnia 2018 w JavaScript, jQuery, AJAX przez bulit000 Początkujący (450 p.)
+1 głos
1 odpowiedź 104 wizyt
0 głosów
4 odpowiedzi 145 wizyt
Porady nie od parady
Pytania na temat serwisu SPOJ należy zadawać z odpowiednią kategorią dotyczącą tej strony.SPOJ

65,787 zapytań

112,438 odpowiedzi

237,540 komentarzy

46,728 pasjonatów

Przeglądających: 215
Pasjonatów: 8 Gości: 207

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...