Diskuze: Zistenie indexu objektu na danej pozícii
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Zobrazeno 6 zpráv z 6.
//= Settings::TRACKING_CODE_B ?> //= Settings::TRACKING_CODE ?>
V předchozím kvízu, Online test znalostí GameMakeru, jsme si ověřili nabyté zkušenosti z kurzu.
Ono to tak trochu záleží na tom, jestli tam hledáš objekt přesně ležící ( čili např. x+20 atd. ) nebo tam hledáš jakýkoli bod jeho obrázku ( čili kolize s jeho sprite ).
Tak v tom případě můžeš použít:
collision_point( x, y, obj, prec, notme )
x,y jsou souřadnice místa
( např. x+32, 100 bude testovat bod 32 bodů napravo od sebe a 100 od
horního okraje )
obj je objekt k testování
prec je true pro přesnou kolizi, false pro obdélníkovou
notme je true pokud se má vynechat kolize se sebou samým, false když ne
Funkce vrací id kolizní instance nebo konstantu noone.
Ne. Obj je filtr. Můžeš použít all a najde cokoliv, co tam leží. Ale to, co funkce vrací je id instance. Čili číslo určující výskyt v místnosti. Pokud ti jde o object_index, ten je vlastností té instance. Chápu, že je to poněkud matoucí. Takže příklad:
var ids=collision_point( x, y-32, all, 1, 1 );
with (ids) { if object_index == muj_object instance_destroy(); }
Zjistí, jestli o 32 pixelů nahoru je instance, jejíž object_index je muj_object a pokud ano, zničí ji.
Zobrazeno 6 zpráv z 6.