Форум » Вопрос-Ответ » [GMaker8] Проблема с высотой ящиков » Ответить

[GMaker8] Проблема с высотой ящиков

Spyro23: В игре есть объект ящиков, родительный объект блоков и его дочерние объекты, высотой от 32 до 212. Вот кусок кода, который я использую в событии создания ящика: [quote]if place_meeting(x,y,grass) or place_meeting(x,y,grassbig) z=0 start_z=0 if place_meeting(x,y,PAR_BLOCK) z=other.z+2 start_z=other.z+2[/quote] Но ящик создаётся на высоте 212. Почему? P.S.: Вот другой вариант кода: [more][quote]if place_meeting(x,y,grass) or place_meeting(x,y,grassbig) z=0 start_z=0 if place_meeting(x,y,obj_block) z=32 start_z=32 if place_meeting(x,y,obj_block2) or place_meeting(x,y,bridge) z=62 start_z=62 if place_meeting(x,y,obj_block3) or place_meeting(x,y,b2) z=92 start_z=92 if place_meeting(x,y,obj_block4) place_meeting(x,y,b3) z=122 start_z=122 if place_meeting(x,y,obj_block5) z=152 start_z=152 if place_meeting(x,y,obj_block6) z=182 start_z=182 if place_meeting(x,y,obj_block7) or place_meeting(x,y,b6) z=212 start_z=212 if place_meeting(x,y,PAR_BLOCK) z=other.z+2 start_z=other.z+2[/quote][/more]

Ответов - 5

Lagevae: Ну это же, если после условия не ставить фигурные скобки - то выполняется только 1-ое действие. Это раз. Во-вторых, other - работает только в столкновениях, если тебе надо взять тот экземпляр, который определяется при использовании функции place_meeting() - используй instance_place().

Spyro23: Всё равно не помогает.

Lagevae: А чё ты там намутил-то? Примерно так надо: i=instance_place(x,y,PAR_BLOCK) if(i){ z=i.z+2 start_z=i.z+2} К слову, можно последнее выражение заменить на start_z=z.


Dmak inc.: Spyro23, без фигурных скобок нам некуда

Lagevae: Ну чё там, получилось? Ещё, кстати, эти функции возвращают только верхний экземпляр заданного типа в координатах.



полная версия страницы