Я попытался установить Enemy.path_speed=0
, а затем установить сигнал тревоги [0] = 5, когда он доходит до alarm[0]
, он просто снова устанавливает Enemy.path_speed=100
(значение по умолчанию). Но это не работает. враги застыли навсегда. Как еще я могу временно заморозить врагов, когда я нажму на пробел?
GameMaker: Как временно заморозить врагов?
Ответы (2)
path_speed = 0
и path_speed = 100
не очень хорошая идея. Например, объекты могут иметь разную скорость. Я использую коэффициент скорости, например speed = normal_speed * k
, где k
равно 1 для нормальной скорости и 0 для полной остановки.
Событие создания врага:
spd = irandom_range(5, 10) // different speed, just as example
path_start(path0, spd, 1, true)
path_position = random(1)
k = 1
Событие «Шаг врага»:
path_speed = spd * k
Событие нажатия клавиши пробела контроллера:
with (o_enemy)
k = 0
alarm[0] = 3 * room_speed
Событие контроллера Alarm0:
with (o_enemy)
k = 1
И завершил gm-проект
person
Dmi7ry
schedule
26.05.2014
Вы только что поставили будильник. Вы никогда не уменьшаете его. поэтому ваше утверждение никогда не бывает верным, и, следовательно, объекты не двигаются.
person
Jonathan Greene
schedule
07.07.2017