NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

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.

Aktivity
Avatar
alex_laco
Člen
Avatar
alex_laco:21.8.2017 1:15

Zdravím,

potrebujem radu. Potreboval by som zistit index objektu ktorý sa nachádza 20px (napravo,nalavo a dole) od daného objektu.
Zatiaľ som nenašiel na to žiadný príkaz.

Ďakujem za každú odpoveď. ;)

 
Odpovědět
21.8.2017 1:15
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na alex_laco
TomBen:21.8.2017 15:10

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

Nahoru Odpovědět
21.8.2017 15:10
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
alex_laco
Člen
Avatar
Odpovídá na TomBen
alex_laco:21.8.2017 19:17

Netreba presný bod stačí iba kolízia so sprite.

 
Nahoru Odpovědět
21.8.2017 19:17
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na alex_laco
TomBen:21.8.2017 21:14

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.

Nahoru Odpovědět
21.8.2017 21:14
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Avatar
alex_laco
Člen
Avatar
alex_laco:21.8.2017 21:47

Ale "obj" bude objekt ktorý by sa mal nachádzať na tej súradnici, nie?
Ja práve že neviem aký objekt tam je, to potrebujem práve zisti.ť

 
Nahoru Odpovědět
21.8.2017 21:47
Avatar
TomBen
Tvůrce
Avatar
Odpovídá na alex_laco
TomBen:22.8.2017 0:03

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.

Nahoru Odpovědět
22.8.2017 0:03
Za posledních 200 miliónů let se nic zvláštního nestalo, akorát dinosauři vymřeli a opice se naučily programovat.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 6 zpráv z 6.