"Дорогие, друзья! Если вам понравился ролик, пожалуйста, поставьте этому видео лайк и подпишитесь на канал. Мы стараемся для вас выкладывать утерянные знания великого пророка и учителя GameDev - Sempiternal Rain. Благодаря данным урокам вы изучите игровой движок GameMaker Studio. Научитесь программированию на языке Game Maker Language (GML). И в будущем сможете без труда создавать практически любые свои 2D игры для видеоприставок, компьютера и телефонов".
Описание и подсказки, смотрите ниже. Приятного просмотра!
ВК Сообщество
sempiternalrainnotes (Sempiternal Rain: Notes)
Игры созданные великим пророком игровой индустрии Sempiternal Rain:
1. "Socialism Simulator"
2. "ReLinked"
Вы можете приобрети их в Steam)
--------------------------------------------------------------------
Название урока:
GameMaker Studio - Урок #4: Логика программирования
Описание урока:
В данном ролике вы узнаете, базовые понятия переменных и массивов, логику условных операторов ветвления, различные функции GML
Тайм коды:
00:00 - Введение
00:42 - Переменные
03:23 - Массивы
04:14 - Ветвление
06:47 - Ветвление If. Проверка столкновений
07:33 - Ветвление If. Продолжение
10:07 - Ветвление. Switch Case
10:43 - Команды, функции в GMS
11:38 - Возврат функций
14:36 - Объекты
14:59 - Виды переменных
15:50 - Практика
25:11 - Ошибки
--------------------------------------------------------------------
*****
Переменные:
Hp = 100 //числовые
text = "Здоровье:" //текстовые
Локальные - доступны внутри одного события.
Объектные - доступные внутри объекта. Например внутри врага.
Глобальные - доступные во всей игре. Например время.
*****
Массивы: (Одномерны, Двумерные)
"Меч", "Зелье", "Хлеб" //одномерный массив
*****
Ветвления: (Условие Да/Нет)
Полное:
if(bullets>0)
{
Стрельнуть
}
else
{
Перезарядиться
}
Неполное:
if(hp<= 0)
{
instance_destroy()
}
Пример №1 (Проверка столкновений. Если под ногами игрока нет земли, тогда игрок падает)
if(!place_meeting(x,y+hspd, ob_ground))
{
x+=hspd;
}
Пример №2 (Проверка. Если денег хватает, то можно купить оружие)
if(money>2750)
{
weapon = "SG 553"; //покупка определенного оружия
money -= 2750; //при покупки, уменьшаются деньги
}
switch (answer) //условие из нескольких вариантов выбора switch case
{
case 1:
...
break;
case 2:
...
break;
}
*****
Команды в GMS:
draw_text(20,20, hp); //на координатах x=20 и y=20 нарисует текст "hp"
money+= irandom_range(100,200) //возврат случайного количество денег. Пример, в сундук положится, случайное число от 100 до 200
if (distance_to_object(ob_player) <500) //проверка расстояния до объекта
{
Движение к игроку
}
Returns Integer (возвращается целое число 1, 2, 3 и.т.д)
Returns Real (возвращается вещественное число 1.1, 1.2, 2.5 и.т.д)
*****
Объект:
1. Имеет спрайт(картинку)
2. Имеет событие
3. Имеет код внутри событий
4. Имеет характеристики
*****
События:
Create - срабатывает когда создается объект
Collision - срабатывает при столкновение объектов
Step - срабатывает каждый кадр
*****
Пример практики:
Ob_player
*Create
hp = 100; //переменная hp, в которую записывается число 100
*Collision (Ob_arrow)
hp -= 30; //при столкновение, здоровье у персонажа уменьшатся
if (hp <= 0) //если здоровье у персонажа <=0, то
{
instance_destroy(); //удалить этот объект
}
*Draw
draw_self(); //обязательная команда, показать себя(объект) иначе перестанет показывать себя (объект)
draw_text(505,125,hp) //на координатах x=505 и y=125, выводим текст из переменой hp
Ob_arrow
*Step
x+=1; //сдвигаем стрелу на 1 пиксель вправо, все время
*Collision (Ob_player)
instance_destroy(); //удалить стрелу при столкновение с игроком
Заметки:
1. Перемещать все объекты в комнате можно, зажатой клавишей Shift
2. Координаты мыши можно увидеть внизу слева окне Viewport
//////////////////////////////////////////////////////////////
Теги:
#gamemaker, #программирование, #2dигры, #разработкаигр, #gml