Ezt, hogyan kell megvalósítani?
Mondjuk,hogy van egy játék amiben csíkot húz maga után egy pont.Az a csík amit húz maga után az sosem tűnik el mindig ott marad azon a helyen.
És ha belé megyek akkor neki ütközök a csíkomnak és vége a játéknak.
Ahhoz,hogy ütközést lehessen vizsgálni ahhoz mindig ismerni kell a csík pozícióját?
A húzott csikót mindig le kell tárolnom valamibe?
Vagy úgy is meg lehet oldani,hogy a csík szinkódjába nem e mentem bele vagy,hogy?
Össze vagyok zavarodva. OpenGL,C++
No. Mindenképpen tárolni kell a csíkot, a "spórolási lehetőség" amit te is észrevettél, hogy a grafika alapból tárolja a csíkot, akkor felesleges neked mégegyszer letárolni.
Ezzel az elgondolással két probléma van:
1) véglegesen összeköti a játékteret a pixelekkel, ami a mai, sokféle felbontású világban problémát jelent, meg erősen korlátoz is.
2) az újrarajzolást általában úgy kezdjük, hogy töröljük a videomemóriát (ráhúzunk egy nagy fekete téglalapot, feltöltjük semleges színnel, akármi), tudnod kell újrarajzolni a képernyőt. Ez persze megoldható, ha tárolsz egy képernyőképet, és arra rajzolsz folyamatosan, de nem tudom, te meg tudod-e csinálni ezt.
Tárolsz egy mátrixot, 0 értékekkel, ha a pont rálép valamelyik mezőre, akkor az értéke 1 lesz. Ha még egyszer rálép, akkor pedig vége a dolognak.
És ezt a mátrixot rajzolgatod folyamatosan. Azt hiszem kezdetnek ez a legegyszerűbb...
Mi a leghatékonyabb megoldás erre.
Ha a profik írnának egy ilyet akkor hogy valósítanák meg úgy mint az előző két hozzászólásban?
Én(nem profi) így állnék neki:
Csinálnák egy 500x500-as fehér bitképet paint-al.
Aztán megcsinálnám a pontot, nem kell mögé csík, ha belegondolsz az egyenest legkönnyebb úgy megcsinálni, ha a régi pont után a kettő összeér, így meg is kapod.
Aztán a kanyarodás, de amit te kérdezel, azt úgy oldanám meg, hogy: ha a piros csík irányában egy pixellel odébb van piros pixel, akkor nekimentél.
Kapcsolódó kérdések:
Minden jog fenntartva © 2024, 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!