🕹️ Переменные в GameMaker
О переменных
Как и другие языки программирования, GML использует переменные в качестве базовой единицы для большинства операций программирования.
Переменные в GML могут хранить множество различных типов данных, например:
- действительное число (
100
,2
,456575
,-56
и т. д.) - строка (
Привет, мир!
) - целое число (
1
,556
,-7
) - логическое значение (
true
илиfalse
)
var _num = 126.4545;
var _str = "Hello World";
new_num = _num * 100;
global.my_string = _str + " I said";
Со списком всех типов переменных можно ознакомится по этой ссылке.
Использование переменных
Присвоение значения переменной выглядит так:
<переменная> = <выражение>;
Язык GML также принимает :=
для приcваивания значения переменной,
хотя это не самый распространенный способ.
<переменная> := <выражение>;
Локальные переменные
Локальная переменная — это переменная, которая создается только для определенного события или функции, а затем удаляется, когда событие или функция завершены.
Чтобы объявить локальную переменную, используется оператор var
:
var _i, _num, _str;
_i = 0;
_num = 24.5;
_str = "Hello World";
// or
var _i = 0, _num = 24.5, _str = "Hello World";
// or
var _i = 0;
var _num = 24.5;
var _str = "Hello World";
Больше о локальных переменных в учебнике YoYoGames.
Переменные экземпляра
Переменная экземпляра создается внутри экземпляра объекта и считается уникальной для этого экземпляра — т.е. многие экземпляры одного и того же объекта могут иметь одну и ту же переменную, но каждая переменная будет хранить разное значение.
Но как создается переменная экземпляра? Ну, вы создаете новые переменные, просто присваивая им значение, как показано в этом небольшом примере (это называется объявлением переменной):
potions = 12;
life = 100;
name = "Jock MacSweeney";
strength = 5.5;
armour = -2;
Как видишь, нужно только задать имя и присвоить значение.
Больше о переменных экземпляра в учебнике YoYoGames.
Глобальные переменные
Основное описание глобальной переменной — это переменная, которая, будучи объявленной, не принадлежит ни одному конкретному экземпляру, но к ней могут обращаться все.
Как и локальные переменные, глобальные переменные должны быть объявлены с использованием идентификатора, но в отличие от локальной переменной, глобальная переменная остается в памяти до конца игры.
global.food = 5;
Мы объявляем переменную food
, написав сначала global.
, чтобы сообщить GameMaker,
что эта переменная теперь имеет глобальную область применения.
Больше о глобальных переменных в учебнике YoYoGames.