« 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.