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

DOM zamiast canvas

Object Storage Arubacloud
0 głosów
343 wizyt
pytanie zadane 17 listopada 2018 w JavaScript przez MrxCI Dyskutant (8,260 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 Mądrala (5,300 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 244 wizyt
pytanie zadane 18 czerwca 2023 w JavaScript przez Piotrek2713 Mądrala (5,340 p.)
0 głosów
2 odpowiedzi 383 wizyt
pytanie zadane 10 grudnia 2019 w JavaScript przez matedoo Nowicjusz (210 p.)
0 głosów
2 odpowiedzi 423 wizyt
pytanie zadane 27 sierpnia 2018 w JavaScript przez bulit000 Początkujący (460 p.)

92,539 zapytań

141,382 odpowiedzi

319,477 komentarzy

61,928 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...