Blog/content/posts/2022/gamemaker/variables-and-vars-scope.md
2022-11-24 22:49:08 +03:00

4.7 KiB
Raw Blame History

title date draft tags
🕹️ Переменные в GameMaker 2022-11-24T20:25:51+03:00 false
gamedev
tips
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.