Ezt hogy lehetne megoldani JavaScriptben?
Van egy programom ami egy ilyen kis 'játék', és azt szeretném hogy megnézze ha meghaltam-e benne, de akárhogy próbálom nem tudom.
Kód: [link]
Egy halálegyszerű if feltétellel.
Mondjuk ha a kis négyzetek mozgását is absolute pozícióval oldanád meg, mindegyiknek adsz egy id-t (ez lehetne mondjuk egy változóban tárolva, amit minden új négyzet generálásakor növelsz, és ezt adod neki.
Ahogy látom, jelenleg mindegyik négyzetnek a "felso" id-t adod, ami hibás, ugyanis egy id-t csak egyetlen elem kaphat. Amit te keresel, az a class.
De visszatérve, minden négyzetnek egy szám lenne az id-ja (mindegyiknek egyel nagyobb, mint az előzőnek (egyszerű for ciklussal megoldható)). Szóval minden körben megvizsgálod, hogy a nagy téglalapnak és az adott kis négyzetnek az y koordinátája egyezik-e (tehát függőlegesen lényegében "egy sorban vannak"). Ha igen, akkor megvizsgálod, hogy érintkeznek-e. Ha igen, akkor nyilván nem történik semmi (vagy növeled a pontszámot, ha van ilyen). Ha nem, akkor az azt jelenti, hogy a játékos nem kapta el a négyzetet, tehát a checkDead függvény true értékkel térhet vissza.
#9
A böngészőt is tanuld meg használni: Legtöbb webböngészőben F12 vagy jobb klikk -> Vizsgálat/Elem vizsgálata
Itt meg tudod nézni, hogy valóban megkapja-e az összes elem az id-t, mert lehet, hogy a kódban rontottál el valamit, és valójában nem kapják meg.
Illetve itt megtalálod a konzolt is, ami értesít az esetleges hibákról (tehát ha pl. egy függvénnyel el szeretnél érni egy adott id-t, de nincs olyan elem, aminek az az id jutott, akkor erről is értesít).
Az érintkezést sokan úgy csinálják - más JS játékokban is -, hogy az teljes játéklapot kisebb négyzetekre osztják (mondjuk akkorákra, amekkorák a kis négyzetek), és a játékos téglalapját is ekkora négyzetekre osztod, ezeket egy div-ben tárolod, így elég a div-et mozgatni, és vele együtt mozog a benne lévő összes többi elem.
Innen már könnyen ki lehet logikázni, egy foreach ciklussal végig lehet menni setInterval-lal stb. az elemeken, így tudod ellenőrizni, hogy érintkeznek-e.
https://www.youtube.com/watch?v=kWVf7zbqsAo&list=PLj6t-9MtkM..
Ebben a sorozatban láthatod, hogy hogyan működik ez (bár ez inkább haladóknak való).
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!