Автор © 2002 r1ck14
Перевод и адаптация © 2002 Игорь Князев
В данном уроке мы рассмотрим простой способ, замены спрайта объекта в зависимости от смены направления его движения.
В событии шага (STEP) вашего объекта, поместите действие "If an expression is true" (это иконка со значком Вопроса - найти ее можно во вкладке Question) и в текстовом окне "Expression" укажите выражение: "direction>=45". За ним, поместите следующее действие "If" с инструкцией: "direction<=135". Далее, поместите действие "Change the sprite" и установите для него спрайт смотрящий "вверх".
Далее, поместите действие "If" содержащее выражение: "direction>135" и другое действия "If": "direction<=225". В действии замены спрайта объекта, выберите спрайт с направлением персонажа "влево".
Повторяем предыдущие телодвижения, помещаем инструкцию "If" содержащую: "direction>225" и "direction<=315" и заменяем спрайт на направленный "вниз".
И наконец, последняя инструкция "If": "direction > 315 || direction <45" и меняем спрайт на смотрящий "вправо". Это означает, когда 315 < направление <= 360 или 0 <= направление < 45, появится спрайт направленный вправо.
Предлагаемый вариант действий может оказаться очень полезным, например если Вы в своей игре захотите сделать так, чтобы враги следовали за главным игровым персонажем по всей комнате. Я сделал игру, основанную преимущественно на этом методе, Вы можете увидеть ее заглянув по адресу: http://www.geocities.com/lightspeedfreeware и скачав игру "Bounty Hunter".
Вы можете поэкспериментировать с направлениями, только помните, что выбор направления основывается на круге (360 градусов), крайняя правая точка которого тождественна 0. Вы должны все изменяющиеся направления, сохранить в памяти.
Надеюсь, что представленная информация окажется Вам полезной.
ЗАМЕЧАНИЕ ! Каждую операцию по замене спрайта с действием "Change the sprite" рекомендую окружить блоками "Start Block" и "End Block".
Скачать пример к данному уроку