Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:

Čau. Mám menší problém s funkčním modelem kolize postavičky s více objekty.
Hra disponuje třemi objekty (postel, stena a hrac). Tento kod aplikuju na objekt hrac v eventu step:

if((keyboard_check(vk_up)) and (!place_meeting(x,y+70,obj_stena) or !place_meeting(x,y+70,obj_postel))) {
    sprite_index = sprite_move_up;
    y -= 5;
    image_speed = 0.2;
}

Proč se postavička přestane posunovat po ose y se zmáčknutou kurzorovou klávesou jen v případě kolize s postelí a se stěnou nikoliv?

Děkuji za každou radu.

Editováno 9.11.2013 11:08
Odpovědět 9.11.2013 11:07
http://snitch.cz/ - web o GameMakeru
Avatar
Posix
Člen
Avatar
Posix:

Místo !place_meetin­g(x,y+70,obj_ste­na) or !place_meetin­g(x,y+70,obj_pos­tel) by mělo být asi !place_meetin­g(x,y+70,obj_ste­na) and !place_meetin­g(x,y+70,obj_pos­tel).

Jinak doporučuji vytvořit nový objekt a objektům obj_stena a obj_postel nastavit parent na ten nový objekt. A potom by stačilo

if((keyboard_check(vk_up)) and !place_meeting(x,y+70,obj_novy_objekt)) {
...
}

Potom pro každý objekt, přes který nemůžeš jít nastavíš toho rodiče (parent)

Nahoru Odpovědět  +2 9.11.2013 11:33
Proč to dělat jednoduše, když to jde složitě.
Avatar
UrbiCZ
Člen
Avatar
UrbiCZ:

Je to tak, operátor and pomohl. Asi neuvažuju dostatečně logicky. :)
Díky.

Nahoru Odpovědět 9.11.2013 12:09
http://snitch.cz/ - web o GameMakeru
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 3 zpráv z 3.