GML variables
This commit is contained in:
parent
e6d74db358
commit
d428a09057
117
content/posts/2022/gamemaker/variables-and-vars-scope.md
Normal file
117
content/posts/2022/gamemaker/variables-and-vars-scope.md
Normal file
@ -0,0 +1,117 @@
|
||||
---
|
||||
title: "🕹️ Переменные в GameMaker"
|
||||
date: 2022-11-24T20:25:51+03:00
|
||||
draft: false
|
||||
tags: [gamedev, tips, gamemaker]
|
||||
---
|
||||
|
||||
## О переменных
|
||||
|
||||
Как и другие языки программирования,
|
||||
[GML](https://manual.yoyogames.com/#t=GameMaker_Language.htm)
|
||||
использует переменные в качестве базовой единицы для большинства операций программирования.
|
||||
|
||||
Переменные в GML могут хранить множество различных типов данных, например:
|
||||
|
||||
* действительное число (`100`, `2`, `456575`, `-56` и т. д.)
|
||||
* строка (`Привет, мир!`)
|
||||
* целое число (`1`, `556`, `-7`)
|
||||
* логическое значение (`true` или `false`)
|
||||
|
||||
```cpp
|
||||
var _num = 126.4545;
|
||||
var _str = "Hello World";
|
||||
new_num = _num * 100;
|
||||
global.my_string = _str + " I said";
|
||||
```
|
||||
|
||||
Со списком всех типов переменных можно ознакомится по этой
|
||||
[ссылке](https://manual.yoyogames.com/GameMaker_Language/GML_Overview/Data_Types.htm).
|
||||
|
||||
## Использование переменных
|
||||
|
||||
Присвоение значения переменной выглядит так:
|
||||
|
||||
```text
|
||||
<переменная> = <выражение>;
|
||||
```
|
||||
|
||||
Язык GML также принимает `:=` для приcваивания значения переменной,
|
||||
хотя это не самый распространенный способ.
|
||||
|
||||
```text
|
||||
<переменная> := <выражение>;
|
||||
```
|
||||
|
||||
## Локальные переменные
|
||||
|
||||
Локальная переменная — это переменная, которая создается только для определенного события
|
||||
или функции, а затем удаляется, когда событие или функция завершены.
|
||||
|
||||
Чтобы объявить локальную переменную, используется оператор `var`:
|
||||
|
||||
```cpp
|
||||
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";
|
||||
```
|
||||
|
||||
Больше о
|
||||
[локальных переменных](https://manual-ru.yoyogames.com/GameMaker_Language/GML_Overview/Variables/Local_Variables.htm)
|
||||
в учебнике YoYoGames.
|
||||
|
||||
## Переменные экземпляра
|
||||
|
||||
Переменная экземпляра создается внутри экземпляра объекта и считается уникальной
|
||||
для этого экземпляра — т.е. многие экземпляры одного и того же объекта могут иметь одну
|
||||
и ту же переменную, но каждая переменная будет хранить разное значение.
|
||||
|
||||
Но как создается переменная экземпляра? Ну, вы создаете новые переменные,
|
||||
просто присваивая им значение,
|
||||
как показано в этом небольшом примере (это называется объявлением переменной):
|
||||
|
||||
```cpp
|
||||
potions = 12;
|
||||
life = 100;
|
||||
name = "Jock MacSweeney";
|
||||
strength = 5.5;
|
||||
armour = -2;
|
||||
```
|
||||
|
||||
Как видишь, нужно только задать имя и присвоить значение.
|
||||
|
||||
Больше о
|
||||
[переменных экземпляра](https://manual-ru.yoyogames.com/GameMaker_Language/GML_Overview/Variables/Instance_Variables.htm)
|
||||
в учебнике YoYoGames.
|
||||
|
||||
## Глобальные переменные
|
||||
|
||||
Основное описание глобальной переменной — это переменная, которая, будучи объявленной,
|
||||
не принадлежит ни одному конкретному экземпляру, но к ней могут обращаться все.
|
||||
|
||||
Как и локальные переменные, глобальные переменные должны быть объявлены
|
||||
с использованием идентификатора, но в отличие от локальной переменной,
|
||||
глобальная переменная остается в памяти до конца игры.
|
||||
|
||||
```cpp
|
||||
global.food = 5;
|
||||
```
|
||||
|
||||
Мы объявляем переменную `food`, написав сначала `global.`, чтобы сообщить GameMaker,
|
||||
что эта переменная теперь имеет глобальную область применения.
|
||||
|
||||
Больше о
|
||||
[глобальных переменных](https://manual-ru.yoyogames.com/GameMaker_Language/GML_Overview/Variables/Global_Variables.htm)
|
||||
в учебнике YoYoGames.
|
||||
|
Loading…
Reference in New Issue
Block a user