Вы находитесь на странице: 1из 3

Урок 2 - Система Событий\Эвентов.

В прошлый раз мы остановились на добавлении свойств объекту Player. Давайте добавим


свойств и другим объектам.

Добавим объекту bullet свойство Bullet movement(объект теперь может перемещаться по


прямой) и Destroy outside layout(уничтожает пулю в тот момент, когда она улетает "за
экран" - нам ведь не нужны лишние объекты, тормозящие игру).
Объекту Monster мы также добавим Bullet Movement, в дальнейшем вы поймете, почему я
сделал именно так.
Ну и на засыпку добавим свойство Fade объекту Explosion - через несколько секунд после
появления взрыва на экране, он начнет исчезать. После полного исчезновения объект
автоматически уничтожается, дабы не нагружать игру.

Попробуйте запустить игру. Вам не кажется, что монстр уж слишком быстро


передвигается? Давайте его немного замедлим. Кликните левой кнопкой мыши на
монстра. Слева найдите пункт Behaviors, в нем - пункт Bullet. Вот что вы должны увидеть:

Смените значение Speed с 400 на 80(эти цифры показывают, сколько пикселей


преодолевает объект за одну секунду).
Теперь таким же образом смените Speed у пули на 600 и Fade out time у взрыва на 0.5.
(цифра обозначает, через сколько секунд объект станет исчезать).

А теперь давайте добавим побольше монстров на игровое поле - зажмите кнопку Ctrl на
клавиатуре, и левой кнопкой мыши "потащите монстра куда-нибудь). Как видите, монстр
"раздвоился). Сделайте таким образом семь - восемь монстров.

Давайте же перейдем к теме урока - эвентам, или событиям.

Сперва кликните на вкладку Event Sheet 1, расположенную чуть выше поля с объектами.
У вас должно появиться практически пустое окно по середине.

Сперва стоит пояснить, что такое система эвентов и как она устроена. Эвент - это
"скрипт", который выполняется при определенных обстоятельствах. Обычно цепочка
выглядит так - "Условие - Событие". Давайте я поясню это более наглядно - научим
игрока стрелять.

Чего мы должны добиться - нажимая на клавишу Z, игрок стреляет, выпуская пулю.


Как мы этого добьемся - дважды кликните по пустому пространству в Event Sheet, тем
самым вызвав меню условий(здесь мы задаем условие для выполнения эвента). Выбираем
Keyboard - On key pressed(это значит, что условие таково - если на клавиатуре нажата
какая-либо кнопка, то - ...) и как кнопку-триггер ставим Z. Теперь откроется окно
действие\action - в нем описывается то, что случиться после выполнения условия.
Действие выполняет Player, соответственно выбрать нужно именно его. Игрок будет
"создавать" пулю - значит, выбираем Spawn Another Object, затем выбираем пулю. Как
Layer ставьте 1(это слой, на котором появляется пуля). Вот что должно выйти:
 Уменьшено на 28%
555 x 43 (4,59 КБ)

Запустите игру, и попробуйте пострелять. Вам не кажется, что игрок стреляет не из


пистолета, а из собственной груди? Давайте исправим это недоразумение.
Кликните на объекте Player правой кнопкой мыши и выберите Edit Animations.

Появиться "шахматное поле" со спрайтом игрока посередине. Выберите origin and image
points.

Появится такое окно:

Красная точка - это ось, вокруг которой вращается игрок, когда поворачивается. Её
трогать не нужно. Нажмите на зеленый плюсик, и появится новая, синяя точка. Теперь
кликните по дулу пистолета игрока - и там появится синяя точка - она точка "спауна"
пули:

Закройте "шахматное поле". Идем обратно в Event Sheet.Дважды кликните на Spawn the
object левой кнопкой мыши, и поставьте Imаge point 1.
 Уменьшено на 29%
556 x 44 (4,6 КБ)

Запустите игру. Теперь пуля стреляет оттуда, откуда ей стрелять положено.


Теперь сделаем так, чтобы пуля убивала монстра.
Condition: Bullet -> On collision with another object -> pick Monster.
Action: Monster -> Destroy
Action: Bullet -> Destroy
Как видите, нам нужно добавить три действия к условию. Чтобы сделать это, нужно
нажать Add Action.

На этом второй урок заканчивается. На третьем мы завершим создание этой игры.