• 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
67 wizyt
pytanie zadane 17 listopada 2018 w JavaScript, jQuery, AJAX przez MrxCI Dyskutant (8,080 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 83 wizyt
pytanie zadane 27 sierpnia 2018 w JavaScript, jQuery, AJAX przez bulit000 Początkujący (450 p.)
+1 głos
1 odpowiedź 102 wizyt
0 głosów
4 odpowiedzi 129 wizyt
Porady nie od parady
Zadając pytanie postaraj się o szczegółowe opisanie problemu oraz udostępnienie wszystkich istotnych informacji (kody źródłowe, zrzuty ekranu itp.).Opisanie problemu

63,168 zapytań

109,404 odpowiedzi

228,555 komentarzy

42,695 pasjonatów

Przeglądających: 58
Pasjonatów: 2 Gości: 56

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.

...