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

Gra w canvas , tablica

VPS Starter Arubacloud
0 głosów
512 wizyt
pytanie zadane 16 listopada 2018 w JavaScript przez ptaku19 Użytkownik (800 p.)

Witam ponownie... Mam tablice, w której przechowuje elementy, które są dodawane przyciskem na ekranie. Elementy te są obiektami w grze(ludzikami), które zwiększają swoje współrzedne na osi X poprzez ich Speed. Próbuje zrobic, aby każdy element(ludzik) zawsze miał odstęp od  innego o pewną wartość X, np. 50. Dodam, że elementy mają funkcję walki i aktualnie walczący element tablicy ma Speed = 0 i chciałbym, aby ludziki czekające na walkę ustawiały się w kolejkę, która właśnie dzieli każdy element odstępem jak już wspominałem.

Kod jest dość długi, ale usunęłem wszystkie zbędne elementy. Gra robiona w canvas.

Próbwałem wklejać kod na różne strony typu CodePen, ale gra mi nie działała.

Jeżeli mam coś skrócic, lub wkleić kod w inne miejsce to prosze o komentarz.

Oto kod:

https://4programmers.net/Pastebin/9959

 

komentarz 18 listopada 2018 przez ptaku19 Użytkownik (800 p.)
Nie wiem czy dobrze rozumiem, ale chodzi o metode class {} ? Z tego co wiem zawarta jest w ES6. Popraw mnie jeżeli źle myśle. Dodam że miałem zamiar dodać do tej gry magów itp. Stworzyć tablice Team = [] i przypisywać tu tablice z wojownikami itp.
komentarz 18 listopada 2018 przez sefir Dyskutant (8,560 p.)
Tak ES6, większość przeglądarek to już wspiera to nie ma co się męczyć ze starymi metodami  tworzenia klas, lepiej w nowych standardów się uczyć, zawsze jest się na bieżąco z technologią ;)

No to dobrą sprawą dobrze by było zrobić klasę Team i w niej pola jako tablice wojowników, magów itp
komentarz 18 listopada 2018 przez ptaku19 Użytkownik (800 p.)
Dzięki za rady, może za jakiś czas przerzucę się na ES6. Nie jesteś pierwszą osobą, która mi to radzi :D
komentarz 18 listopada 2018 przez sefir Dyskutant (8,560 p.)
Ja się przysiadłem do js'a właśnie kiedy już było w miarę spoko wsparcie do klas. Stara struktura kodu sprawia, że oczy mi krwawią xD
komentarz 18 listopada 2018 przez ptaku19 Użytkownik (800 p.)
A jeszcze takie pytanie z innej beczki ;P Nie wiem czy jesteś w stanie odpowiedzieć bez kodu

Gdy używam 'supermocy' spada 30 kwadratów, które blablabla... [...] i znikają po uderzeniu we wroga. I raz na jakiś czas, wyskakuje mi że jeden z kwadratów jest undefined. Czasem nie wyskakuje. Używam .splice(i,1). Czy możliwe jest, że komputer po prostu nie wyrabia gdy dwa uderzą w tym samym momencie?

1 odpowiedź

0 głosów
odpowiedź 18 listopada 2018 przez sefir Dyskutant (8,560 p.)

Jeżeli masz tablicę

a = ['a','b','c','d','e','f','g','h'];

i zrobisz np 

a.splice(2,1)

to

a = ["a", "b", "d", "e", "f", "g", "h"];

Mam nadzieję, że dostrzegasz w czym problem stosując 

.splice(i,1)

:)

komentarz 18 listopada 2018 przez ptaku19 Użytkownik (800 p.)
Dokładnie o to mi chodzi i tak się dzieje,kwadraty mi znikają,ale z nie wyjaśnionych przyczyn na 30 kwadratów czasem wyskoczy, że któryś jest undefined, a czasem nie. Chociaż i tak znikają wszystkie jak należy. Ale w konsoli mi się nie podoba ten błąd.Może komp nie wyrabia?
komentarz 18 listopada 2018 przez sefir Dyskutant (8,560 p.)
A jak zrobisz splice(1,1) zamiast splice(i,1) działa poprawnie?
komentarz 18 listopada 2018 przez ptaku19 Użytkownik (800 p.)
Potem zorientowałem się, że może źle kolizje wyznaczyłem, ale jak wpisałem splice(1,1) to usuwe prawie wszystkie meteoryty(kwadraty) (z 30) co jest dziwne bo spodziewalem się ze zniknie jeden.
komentarz 18 listopada 2018 przez sefir Dyskutant (8,560 p.)
Pewnie używasz tego w pętli, to może usunąć Ci wszystkie.
komentarz 18 listopada 2018 przez ptaku19 Użytkownik (800 p.)
Tak używam w pętli. Prawdopodobnie musze poprawić efekt kolizji

Podobne pytania

+2 głosów
3 odpowiedzi 595 wizyt
pytanie zadane 17 sierpnia 2020 w JavaScript przez Bakkit Dyskutant (7,600 p.)
+1 głos
2 odpowiedzi 494 wizyt
pytanie zadane 4 lipca 2020 w JavaScript przez Bakkit Dyskutant (7,600 p.)
0 głosów
0 odpowiedzi 112 wizyt

93,023 zapytań

141,986 odpowiedzi

321,290 komentarzy

62,370 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

Wprowadzenie do ITsec, tom 2

Można już zamawiać tom 2 książki "Wprowadzenie do bezpieczeństwa IT" - będzie to około 650 stron wiedzy o ITsec (17 rozdziałów, 14 autorów, kolorowy druk).

Planowana premiera: 30.09.2024, zaś planowana wysyłka nastąpi w drugim tygodniu października 2024.

Warto preorderować, tym bardziej, iż mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy dodatkowe 15% zniżki! Dziękujemy zaprzyjaźnionej ekipie Sekuraka za kod dla naszej Społeczności!

...