C# Formban készített játékban hogy tudom jól működően megcsinálni az ütközésvizsgálatot?
Például ha sok objektum van az ablakban, és én csak egy karaktert mozgatok, akkor az objektumokra ne menjen rá, tehát ne menjen tovább.
Az túl sok számítást vesz igénybe, hogyha minden egyes lépésnél végigvizsgálom az objektumokat, hogy koordináta szerint egymásba érnek-e.
Van erre valami jó megoldás?
Nézz utána a geometriai alapú ütközésvizsgaaltnak (boundingbox és boundingsphere, vagyis te esetedben boundingcircle :) ). Az ütközésérzékelés piszok erőforrás igényes folyamat, ha pixel szinten akarod végezni, és a legtöbb esetben ennyire pontosnak lenni fölösleges. Egyszerűen azt vizsgáld meg, első lépésnek, hogy az adott objektumnak van-e egyáltalán esélye ütközni - ezt egy egyszerű távolságszámítással megteheted, ami pár összeadás és szorzás, ergo milliós nagyságrendben is pár ms időt vesz csak igénybe.
Aztán ha van olyan objektum, ami elég közel van, akkor annál az egynél lehet végezni finomabb, akár pixelszintű ütközésérzékelést.
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!