Переменные в GDScript

Во всех языках программирования переменные используются для хранения значений и ссылок. Примеры включают в себя текущее значение счета или ссылку на предмет инвентаря.

Хорошей практикой является использование описательных имен переменных в виде текста в нижнем регистре и объединение слов подчеркиванием. Вот несколько примеров объявлений переменных:

var score = 0
var remaining_fuel = 99.9
var paused = false
var player_name = ""
var selected_weapon
var starting_grid_position

Обратите внимание, что некоторые переменные еще не имеют установленного значения, и мы можем присваивать разные типы значений переменным.

Некоторые основные типы следующие:

ТипОписаниеПример
intA 64bit signed number-12 54 0xAF
floatFloating point number1.23 1e6
boolTrue or falsetrue false
StringFor words and character sequences«Hello World»

Варианты (Variants)

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

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

Типизированные переменные

Существует способ объявить, какого типа значение примет переменная. Это имеет преимущества для уменьшения ошибок и получения подсказок и предупреждений от редактора при вводе кода.

Существует два способа объявления типизированных переменных, следующие:

# Method 1
var score: int = 0
var remaining_fuel: float = 99.9
var paused: bool = false
var player_name: String = ""

# Method 2 (inferring the type)
var my_int := 8
var size := 32.6
var running := true
var name := ""

Мы называем это статической типизацией, а когда используем варианты, как ранее, мы называем это динамической типизацией. Оба подхода могут использоваться по вашему усмотрению в рамках вашей программы.

Область видимости переменных

Область видимости — это часть кода программы, в которой переменная доступна. Уровни отступов текста используются для определения области видимости в редакторе и различные области могут быть развернуты или свернуты.

Глобальная область видимости — это область, в которой переменная доступна везде, например, когда она объявлена в файле Autoload. А локальная область — это область внутри функции, содержащей переменную после ее объявления.

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

Вот пример глобальной и локальной области видимости:

extends Node2D

# score has global scope in this code module
var score = 5

# A function that may be called to add points to score
func add_to_score(points):
	# points is a variable passed from outside
	# it has local scope in this indented code block
	score = score + points

# This function runs when we view the scene
func _ready():
	add_to_score(1)
	# score is accessible inside this code block
	print(score) # prints 6

Ошибки могут возникнуть, если вы полагаетесь на глобальную область видимости и по ошибке повторно объявляете переменную с тем же именем в локальной области. Как в этом примере:

extends Node2D

var score = 5
var new_score

func add_to_score(points):
	# new_score is accidentally re-declared
	# with local scope in this indented code block
	var new_score = score + points

func _ready():
	add_to_score(1)
	# new_score has not been set
	print(new_score) # prints null

В качестве упражнения практикуйтесь в объявлении переменных как статических, так и динамических типов. Выводите значения и экспериментируйте с областью видимости, чтобы укрепить свое понимание этих концепций.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

одиннадцать + 5 =

Прокрутить вверх