Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
GM - Делюсь опытом (Часть первая).docx
Скачиваний:
0
Добавлен:
09.01.2020
Размер:
344.82 Кб
Скачать

Стандартные События объекта.

Давайте поговорим немного о Событиях, которые нам предоставляет GM (Game Maker).

В Game Maker есть целая сеть событий, это сильно облегчает нашу работу:

В событии «Создания» (Create) цикл проходит всего один раз, это более чем подходит для объявления переменных, и не только.

Событие «Уничтожение» (Destroy) выполняется, когда этот объект уничтожается, в него можно, например, записывать добавление игровых Очков, или же, создать Эффект с дополнительным объектом, так же можно создать какой то бонус после уничтожения этого объекта.

Событие «Будильник» (Alarm) выполняется, когда заданные миллисекунды пройдут до нуля, но об этом мы поговорим позже.

Событие «Шаг» (Step) выполняется постоянно, в нем ещё есть «Начальный Шаг»(Begin Step) и «Конечный Шаг» (End Step), это значит, что они выполняются до или после основного шага.

Событие «Столкновение» (Collision) выполняется, когда этот объект сталкивается с другим объектом, который указан в этом событии.

Событие «Клавиатура» (Keyboard) выполняется на выбранную клавишу столько раз, сколько кадров в секунду летит игра, это хорошо подходит для управления.

Событие «Мышь» (Mouse) выполняется на действия с Мышью.

Событие «Другие» (Other) содержит в себе много других событий, таких как – «Вне Вида 1», «Вне Границ Комнаты», «Старт Игры», «При завершении Анимации» и других.

Событие «Рисование» (Draw) выполняется так же, как и событие «Шаг» (Step). Событие «Рисование» (Draw) предназначено для прорисовки, тут вы можете рисовать Спрайт (Sprite), Текст, в общем, все, что связанно с прорисовкой на экране.

События «Клавиатура нажата» (Keyboard pressed) и «Клавиатура отпущена» (Keyboard released) названия говорят сами за себя, действуют, так же как и событие «Клавиатура» (Keyboard).

Событие «Триггер» это пользовательские события, но лично я ими никогда не пользовался.

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

Условные операторы и Конструкции.

Сразу предоставлю список:

if..else : Условный оператор

switch : Оператор переключения

with : Конструкция

Условный оператор if..Else:

Сама конструкция выглядит следующим образом:

Ключевое слово if затем круглые скобки () после чего, открывается тело конструкции плавающими скобками {}. Приведу пример, после чего немного расскажу о мелочах, так как эти мелочи важны для корректной работы.

if(Условие)

{

// Выражение

}

И так, теперь о мелочах, хочу сказать, что в плавающих скобках, находится тело конструкции, цикла или функции.

В «Условии» у нас непосредственно должно быть условие, помните логическое сравнение «myage1 == myage2»? Сравнение на равенство двух переменных, это и есть наше условие.

Теперь это можно записать так:

if(myage1 == myage2)

{

// Выражение

}

// Читается данное условие как: Если myage1 равен myage2, то возвращается (True) 1, в противном случае вернется (false) 0.

Если возвращается (True) 1 то выполняется Выражение, а в выражении мы делаем что-то.

В конструкции if..else так же есть и такой вариант, да и множество других.

if(myage1 == yourage2) // Если обе переменные равны то

{

// Ничего не делаем, два значения равны.

}

else if(myage1 > yourage2) // Иначе, если левая переменная больше правой то

{

result = myage1 - yourage2; /* Вычитаем сумму yourage2 из myage1 и присваиваем полученное значение переменной result*/

}

else // Иначе

{

if(myage1 < yourage2) // Если левая переменная меньше правой то

{

result = yourage2 - myage1; /* Вычитаем сумму myage1 из yourage2 и присваиваем полученное значение переменной result.*/

}

}

Ещё можно записать вот так:

if!(1 == 1)

{

show_message("False");

}

else

{

show_message("True");

}

Заметили отрицательный знак после if? Помните, что он делает? Вот, поэтому будет сообщение с «True».

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

Хотя, я не думаю что это так сложно.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]