« Előző oldal- - - ^Tartalom^- - - Következő oldal »



ÜTKÖZÉSELLENŐRZÉS: (GM 5.3-tól)

Mozgások tervezésekor, vagy bizonyos események eldöntésekor gyakran szükséges utánanézni annak, hogy bizonyos helyeken történik-e ütközés a többi tárggyal. A következő rutinok erre használhatók. Ezek mindegyikénél három argumentum azonos: az obj lehet a tárgy, az all kulcsszó, vagy egy példány azonosítója (id-je). A pontosan argumentum jelzi, hogy az ellenőrzés pontos legyen, vagy a foglalaton (bounding box) alapuljon. A pontos ellenőrzés csak akkor működik, ha a tárgynál (a Sprite properties-ben) is be van állítva a pontos ütközésellenőrzés (precise collision checking). Az engemne igaz volta esetén a hívó példánynál nem lesz ellenőrzés. Mindegyik függvény annak a példánynak az azonosítójával tér vissza, amellyel az ütközés bekövetkezett, vagy egy negatív értékkel, ha nem történt ütközés.

collision_point(x,y,obj,pontosan,engemne) - az x,y helyen történik-e ütközés az obj tárggyal.
collision_rectangle(x1,y1,x2,y2,obj,pontosan,engemne) - történik-e ütközés az x1,y1 és x2,y2 pontokkal meghatározott (kitöltött) téglalapon belül.
collision_circle(x,y,r,obj,pontosan,engemne) - történik-e ütközés az x,y középpontú, r sugarú (kitöltött) körön belül.
collision_ellipse(x1,y1,x2,y2,obj,pontosan,engemne) - történik-e ütközés az adott (kitöltött) ellipszisben.
collision_line(x1,y1,x2,y2,obj,pontosan,engemne) - történik-e ütközés az x1,y1 és x2,y2 pontok között húzott egyenesen.