Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
Оба примера в данном уроке вызывают эффект 'быстрого огня', но это можно исправить, используя СИГНАЛЬНОЕ событие и изменив действие в клавише 'огня' на данный сценарий.
---------------------- врезка ---------------------
{
if (canshoot=1)
{
instance_create(x, y, bullet);
alarm[0]=room_speed/2;
canshoot=0;
}
}
--------------------- врезка -----------------------
Данный сценарий проверяет, является ли переменная canshoot=1 и если данное равенство ИСТИННО, то в объекте главного героя в его позиции по оси X, Y, создается пуля, устанавливая ALARM 0 в половину скорости комнаты, изменяя затем переменную canshoot на 0. Это означает, что когда Вы нажимаете клавишу огонь в следующий раз, то пуля создана не будет, так как при проверке будет возвращено значение ЛОЖНО, в связи с тем что значение canshoot не равно 1.
Для этого в событии ALARM 0 объекта главного героя помещаем иконку действия X=2 со следующими установками...
variable = canshoot
new value = 1
Вместо указания числа, при установке значения для ALARM 0 в коде для клавиши 'огня', мы используем значение ' room_speed/2 ', при этом пуля будет создаваться каждые пол секунды, потому что значение room_speed всегда равно 1 секунде реального времени. Используя такую вещь как значение скорости комнаты, мы добиваемся эффекта создания промежутков между появлением каждой последующей пули.
В заключении мы должны присвоить для переменной canshoot стартовое значение, иначе при использовании вышеприведенного сценария мы получим ошибку, для этого в событии CREATE объекта игрового персонажа добавляем действие X=2 с такими же установками, какие мы использовали в событии ALARM 0.
Дата публикования: 2014-10-25; Прочитано: 285 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!