@GlobalScope

Константы и функции глобальной области видимости.

Описание

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

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

Информацию о записях, доступ к которым возможен только из скриптов, написанных на GDScript, см. в @GDScript.

Примечание

Существуют заметные различия при использовании данного API с C#. Подробнее см. API различия C# и GDScript.

Обучающие материалы

Свойства

AudioServer

AudioServer

CameraServer

CameraServer

ClassDB

ClassDB

DisplayServer

DisplayServer

EditorInterface

EditorInterface

Engine

Engine

EngineDebugger

EngineDebugger

GDExtensionManager

GDExtensionManager

Geometry2D

Geometry2D

Geometry3D

Geometry3D

IP

IP

Input

Input

InputMap

InputMap

JavaClassWrapper

JavaClassWrapper

JavaScriptBridge

JavaScriptBridge

Marshalls

Marshalls

NativeMenu

NativeMenu

NavigationMeshGenerator

NavigationMeshGenerator

NavigationServer2D

NavigationServer2D

NavigationServer2DManager

NavigationServer2DManager

NavigationServer3D

NavigationServer3D

NavigationServer3DManager

NavigationServer3DManager

OS

OS

Performance

Performance

PhysicsServer2D

PhysicsServer2D

PhysicsServer2DManager

PhysicsServer2DManager

PhysicsServer3D

PhysicsServer3D

PhysicsServer3DManager

PhysicsServer3DManager

ProjectSettings

ProjectSettings

RenderingServer

RenderingServer

ResourceLoader

ResourceLoader

ResourceSaver

ResourceSaver

ResourceUID

ResourceUID

TextServerManager

TextServerManager

ThemeDB

ThemeDB

Time

Time

TranslationServer

TranslationServer

WorkerThreadPool

WorkerThreadPool

XRServer

XRServer

Методы

Variant

abs(x: Variant)

float

absf(x: float)

int

absi(x: int)

float

acos(x: float)

float

acosh(x: float)

float

angle_difference(from: float, to: float)

float

asin(x: float)

float

asinh(x: float)

float

atan(x: float)

float

atan2(y: float, x: float)

float

atanh(x: float)

float

bezier_derivative(start: float, control_1: float, control_2: float, end: float, t: float)

float

bezier_interpolate(start: float, control_1: float, control_2: float, end: float, t: float)

Variant

bytes_to_var(bytes: PackedByteArray)

Variant

bytes_to_var_with_objects(bytes: PackedByteArray)

Variant

ceil(x: Variant)

float

ceilf(x: float)

int

ceili(x: float)

Variant

clamp(value: Variant, min: Variant, max: Variant)

float

clampf(value: float, min: float, max: float)

int

clampi(value: int, min: int, max: int)

float

cos(angle_rad: float)

float

cosh(x: float)

float

cubic_interpolate(from: float, to: float, pre: float, post: float, weight: float)

float

cubic_interpolate_angle(from: float, to: float, pre: float, post: float, weight: float)

float

cubic_interpolate_angle_in_time(from: float, to: float, pre: float, post: float, weight: float, to_t: float, pre_t: float, post_t: float)

float

cubic_interpolate_in_time(from: float, to: float, pre: float, post: float, weight: float, to_t: float, pre_t: float, post_t: float)

float

db_to_linear(db: float)

float

deg_to_rad(deg: float)

float

ease(x: float, curve: float)

String

error_string(error: int)

float

exp(x: float)

Variant

floor(x: Variant)

float

floorf(x: float)

int

floori(x: float)

float

fmod(x: float, y: float)

float

fposmod(x: float, y: float)

int

hash(variable: Variant)

Object

instance_from_id(instance_id: int)

float

inverse_lerp(from: float, to: float, weight: float)

bool

is_equal_approx(a: float, b: float)

bool

is_finite(x: float)

bool

is_inf(x: float)

bool

is_instance_id_valid(id: int)

bool

is_instance_valid(instance: Variant)

bool

is_nan(x: float)

bool

is_same(a: Variant, b: Variant)

bool

is_zero_approx(x: float)

Variant

lerp(from: Variant, to: Variant, weight: Variant)

float

lerp_angle(from: float, to: float, weight: float)

float

lerpf(from: float, to: float, weight: float)

float

linear_to_db(lin: float)

float

log(x: float)

Variant

max(...) vararg

float

maxf(a: float, b: float)

int

maxi(a: int, b: int)

Variant

min(...) vararg

float

minf(a: float, b: float)

int

mini(a: int, b: int)

float

move_toward(from: float, to: float, delta: float)

int

nearest_po2(value: int)

float

pingpong(value: float, length: float)

int

posmod(x: int, y: int)

float

pow(base: float, exp: float)

void

print(...) vararg

void

print_rich(...) vararg

void

print_verbose(...) vararg

void

printerr(...) vararg

void

printraw(...) vararg

void

prints(...) vararg

void

printt(...) vararg

void

push_error(...) vararg

void

push_warning(...) vararg

float

rad_to_deg(rad: float)

PackedInt64Array

rand_from_seed(seed: int)

float

randf()

float

randf_range(from: float, to: float)

float

randfn(mean: float, deviation: float)

int

randi()

int

randi_range(from: int, to: int)

void

randomize()

float

remap(value: float, istart: float, istop: float, ostart: float, ostop: float)

int

rid_allocate_id()

RID

rid_from_int64(base: int)

float

rotate_toward(from: float, to: float, delta: float)

Variant

round(x: Variant)

float

roundf(x: float)

int

roundi(x: float)

void

seed(base: int)

Variant

sign(x: Variant)

float

signf(x: float)

int

signi(x: int)

float

sin(angle_rad: float)

float

sinh(x: float)

float

smoothstep(from: float, to: float, x: float)

Variant

snapped(x: Variant, step: Variant)

float

snappedf(x: float, step: float)

int

snappedi(x: float, step: int)

float

sqrt(x: float)

int

step_decimals(x: float)

String

str(...) vararg

Variant

str_to_var(string: String)

float

tan(angle_rad: float)

float

tanh(x: float)

Variant

type_convert(variant: Variant, type: int)

String

type_string(type: int)

int

typeof(variable: Variant)

PackedByteArray

var_to_bytes(variable: Variant)

PackedByteArray

var_to_bytes_with_objects(variable: Variant)

String

var_to_str(variable: Variant)

Variant

weakref(obj: Variant)

Variant

wrap(value: Variant, min: Variant, max: Variant)

float

wrapf(value: float, min: float, max: float)

int

wrapi(value: int, min: int, max: int)


Перечисления

enum Side: 🔗

Side SIDE_LEFT = 0

Левая сторона, обычно используется для классов, производных от Control или StyleBox.

Side SIDE_TOP = 1

Верхняя сторона, обычно используется для классов, производных от Control или StyleBox.

Side SIDE_RIGHT = 2

Правая сторона, обычно используется для классов, производных от Control или StyleBox.

Side SIDE_BOTTOM = 3

Нижняя сторона, обычно используется для классов, производных от Control или StyleBox.


enum Corner: 🔗

Corner CORNER_TOP_LEFT = 0

Верхний левый угол.

Corner CORNER_TOP_RIGHT = 1

Верхний правый угол.

Corner CORNER_BOTTOM_RIGHT = 2

Нижний правый угол.

Corner CORNER_BOTTOM_LEFT = 3

Нижний левый угол.


enum Orientation: 🔗

Orientation VERTICAL = 1

Общее вертикальное выравнивание, обычно используется для Separator, ScrollBar, Slider и т.д.

Orientation HORIZONTAL = 0

Общее горизонтальное выравнивание, обычно используется для Separator, ScrollBar, Slider и т.д.


enum ClockDirection: 🔗

ClockDirection CLOCKWISE = 0

Вращение по часовой стрелке. Используется некоторыми методами (например Image.rotate_90()).

ClockDirection COUNTERCLOCKWISE = 1

Вращение против часовой стрелки. Используется некоторыми методами (например, Image.rotate_90()).


enum HorizontalAlignment: 🔗

HorizontalAlignment HORIZONTAL_ALIGNMENT_LEFT = 0

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

HorizontalAlignment HORIZONTAL_ALIGNMENT_CENTER = 1

Горизонтальное выравнивание по центру, обычно для классов, содержащих текст.

HorizontalAlignment HORIZONTAL_ALIGNMENT_RIGHT = 2

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

HorizontalAlignment HORIZONTAL_ALIGNMENT_FILL = 3

Расширить строку по ширине, обычно для текстовых классов.


enum VerticalAlignment: 🔗

VerticalAlignment VERTICAL_ALIGNMENT_TOP = 0

Вертикальное выравнивание сверху, обычно для классов, содержащих текст.

VerticalAlignment VERTICAL_ALIGNMENT_CENTER = 1

Вертикальное выравнивание по центру, обычно для классов, содержащих текст.

VerticalAlignment VERTICAL_ALIGNMENT_BOTTOM = 2

Вертикальное выравнивание снизу, обычно для классов, содержащих текст.

VerticalAlignment VERTICAL_ALIGNMENT_FILL = 3

Расширить строки по высоте, обычно для текстовых классов.


enum InlineAlignment: 🔗

InlineAlignment INLINE_ALIGNMENT_TOP_TO = 0

Выравнивает верх встроенного объекта (например, изображения, таблицы) к позиции текста, определённой константой INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_CENTER_TO = 1

Выравнивает центр встроенного объекта (например, изображения, таблицы) к позиции текста, определённой константой INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_BASELINE_TO = 3

Выравнивает базовую линию (определенную пользователем) встроенного объекта (например, изображение, таблица), относительно положения текста, указанного константой INLINE_ALIGNMENT_TO_* .

InlineAlignment INLINE_ALIGNMENT_BOTTOM_TO = 2

Выравнивает низ встроенного объекта (например, изображения, таблицы) к позиции текста, определённой константой INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_TO_TOP = 0

Выравнивает позицию встроенного объекта (например, изображения, таблицы), определённой константой INLINE_ALIGNMENT_*_TO к верху текста.

InlineAlignment INLINE_ALIGNMENT_TO_CENTER = 4

Выравнивает позицию встроенного объекта (например, изображения, таблицы), определённой константой INLINE_ALIGNMENT_*_TO к центру текста.

InlineAlignment INLINE_ALIGNMENT_TO_BASELINE = 8

Выравнивает положение встроенного объекта (например, изображение, таблица) указанного константой INLINE_ALIGNMENT_*_TO, относительно базовой линии текста.

InlineAlignment INLINE_ALIGNMENT_TO_BOTTOM = 12

Выравнивает встроенный объект (например, изображение, таблица) по нижней части текста.

InlineAlignment INLINE_ALIGNMENT_TOP = 0

Выравнивает верхнюю часть встроенного объекта (например, изображение, таблица) относительно верхней части текста. Аналогично INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP.

InlineAlignment INLINE_ALIGNMENT_CENTER = 5

Выравнивает центр встроенного объекта (например, изображение, таблица) по центру текста. Аналогично INLINE_ALIGNMENT_CENTER_TO | INLINE_ALIGNMENT_TO_CENTER.

InlineAlignment INLINE_ALIGNMENT_BOTTOM = 14

Выравнивает нижнюю часть встроенного объекта (например, изображение, таблица) по нижней части текста. Аналогично INLINE_ALIGNMENT_BOTTOM_TO | INLINE_ALIGNMENT_TO_BOTTOM.

InlineAlignment INLINE_ALIGNMENT_IMAGE_MASK = 3

Битовая маска для констант выравнивания INLINE_ALIGNMENT_*_TO.

InlineAlignment INLINE_ALIGNMENT_TEXT_MASK = 12

Битовая маска для констант выравнивания INLINE_ALIGNMENT_*_TO.


enum EulerOrder: 🔗

EulerOrder EULER_ORDER_XYZ = 0

Указывает что углы Эйлера должны быть в порядке XYZ. При составлении порядок X, Y, Z. А при разложении порядок меняется на противоположный, сначала Z, потом Y, а в конце X.

EulerOrder EULER_ORDER_XZY = 1

Указывает что углы Эйлера должны быть в порядке XZY. При составлении порядок X, Z, Y. А при разложении порядок меняется на противоположный, сначала Y, потом Z, а в конце X.

EulerOrder EULER_ORDER_YXZ = 2

Указывает что углы Эйлера должны быть в порядке YXZ. При составлении порядок Y,X,Z. А при разложении порядок меняется на противоположный, сначала Z, потом X, а в конце Y.

EulerOrder EULER_ORDER_YZX = 3

Указывает что углы Эйлера должны быть в порядке YZX. При составлении порядок Y, Z, X. А при разложении порядок меняется на противоположный, сначала X, потом Z, а в конце X.

EulerOrder EULER_ORDER_ZXY = 4

Указывает что углы Эйлера должны быть в порядке ZXY. При составлении порядок Z, X, Y. А при разложении порядок меняется на противоположный, сначала Y, потом X, а в конце Z.

EulerOrder EULER_ORDER_ZYX = 5

Указывает что углы Эйлера должны быть в порядке ZYX. При составлении порядок Z, Y, X. А при разложении порядок меняется на противоположный, сначала X, потом Y, а в конце Z.


enum Key: 🔗

Key KEY_NONE = 0

Значение перечисления, которые не соответствует ни одному ключу. Это используется для инициализации свойств Key с общим состоянием.

Key KEY_SPECIAL = 4194304

Коды клавиш с этим битом не подлежат печати.

Key KEY_ESCAPE = 4194305

Клавиша Escape.

Key KEY_TAB = 4194306

Клавиша Tab.

Key KEY_BACKTAB = 4194307

Клавиша Shift + Tab.

Key KEY_BACKSPACE = 4194308

Клавиша Backspace.

Key KEY_ENTER = 4194309

Клавиша возврата (на основной клавиатуре).

Key KEY_KP_ENTER = 4194310

Клавиша ввода на цифровой клавиатуре.

Key KEY_INSERT = 4194311

Клавиша Insert.

Key KEY_DELETE = 4194312

Клавиша Delete.

Key KEY_PAUSE = 4194313

Клавиша Pause.

Key KEY_PRINT = 4194314

Клавиша Print Screen.

Key KEY_SYSREQ = 4194315

Клавиша System Request.

Key KEY_CLEAR = 4194316

Клавиша очистки.

Key KEY_HOME = 4194317

Клавиша Home.

Key KEY_END = 4194318

Клавиша End.

Key KEY_LEFT = 4194319

Клавиша со стрелкой влево.

Key KEY_UP = 4194320

Клавиша со стрелкой вверх.

Key KEY_RIGHT = 4194321

Клавиша со стрелкой вправо.

Key KEY_DOWN = 4194322

Клавиша со стрелкой вниз.

Key KEY_PAGEUP = 4194323

Клавиша Page Up.

Key KEY_PAGEDOWN = 4194324

Клавиша Page Down.

Key KEY_SHIFT = 4194325

Клавиша Shift.

Key KEY_CTRL = 4194326

Клавиша Control.

Key KEY_META = 4194327

Клавиша Meta.

Key KEY_ALT = 4194328

Клавиша Alt.

Key KEY_CAPSLOCK = 4194329

Клавиша Caps Lock.

Key KEY_NUMLOCK = 4194330

Клавиша Num Lock.

Key KEY_SCROLLLOCK = 4194331

Клавиша Scroll Lock.

Key KEY_F1 = 4194332

Клавиша F1.

Key KEY_F2 = 4194333

Клавиша F2.

Key KEY_F3 = 4194334

Клавиша F3.

Key KEY_F4 = 4194335

Клавиша F4.

Key KEY_F5 = 4194336

Клавиша F5.

Key KEY_F6 = 4194337

Клавиша F6.

Key KEY_F7 = 4194338

Клавиша F7.

Key KEY_F8 = 4194339

Клавиша F8.

Key KEY_F9 = 4194340

Клавиша F9.

Key KEY_F10 = 4194341

Клавиша F10.

Key KEY_F11 = 4194342

Клавиша F11.

Key KEY_F12 = 4194343

Клавиша F12.

Key KEY_F13 = 4194344

Клавиша F13.

Key KEY_F14 = 4194345

Клавиша F14.

Key KEY_F15 = 4194346

Клавиша F15.

Key KEY_F16 = 4194347

Клавиша F16.

Key KEY_F17 = 4194348

Клавиша F17.

Key KEY_F18 = 4194349

Клавиша F18.

Key KEY_F19 = 4194350

Клавиша F19.

Key KEY_F20 = 4194351

Клавиша F20.

Key KEY_F21 = 4194352

Клавиша F21.

Key KEY_F22 = 4194353

Клавиша F22.

Key KEY_F23 = 4194354

Клавиша F23.

Key KEY_F24 = 4194355

Клавиша F24.

Key KEY_F25 = 4194356

Клавиша F25. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F26 = 4194357

Клавиша F26. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F27 = 4194358

Клавиша F27. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F28 = 4194359

Клавиша F28. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F29 = 4194360

Клавиша F29. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F30 = 4194361

Клавиша F30. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F31 = 4194362

Клавиша F31. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F32 = 4194363

Клавиша F32. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F33 = 4194364

Клавиша F33. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F34 = 4194365

Клавиша F34. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_F35 = 4194366

Клавиша F35. Поддерживается только в macOS и Linux, из-за ограничений Windows.

Key KEY_KP_MULTIPLY = 4194433

Клавиша умножения (*) на цифровой клавиатуре.

Key KEY_KP_DIVIDE = 4194434

Клавиша деления (/) на цифровой клавиатуре.

Key KEY_KP_SUBTRACT = 4194435

Клавиша вычитания (-) на цифровой клавиатуре.

Key KEY_KP_PERIOD = 4194436

Клавиша точки (.) на цифровой клавиатуре.

Key KEY_KP_ADD = 4194437

Клавиша сложения (+) на цифровой клавиатуре.

Key KEY_KP_0 = 4194438

Цифра 0 на цифровой клавиатуре.

Key KEY_KP_1 = 4194439

Цифра 1 на цифровой клавиатуре.

Key KEY_KP_2 = 4194440

Цифра 2 на цифровой клавиатуре.

Key KEY_KP_3 = 4194441

Цифра 3 на цифровой клавиатуре.

Key KEY_KP_4 = 4194442

Цифра 4 на цифровой клавиатуре.

Key KEY_KP_5 = 4194443

Цифра 5 на цифровой клавиатуре.

Key KEY_KP_6 = 4194444

Цифра 6 на цифровой клавиатуре.

Key KEY_KP_7 = 4194445

Цифра 7 на цифровой клавиатуре.

Key KEY_KP_8 = 4194446

Цифра 8 на цифровой клавиатуре.

Key KEY_KP_9 = 4194447

Цифра 9 на цифровой клавиатуре.

Key KEY_MENU = 4194370

Клавиша контекстного меню.

Key KEY_HYPER = 4194371

Гипер ключ. (Только в Linux/X11).

Key KEY_HELP = 4194373

Клавиша помощи.

Key KEY_BACK = 4194376

Клавиша «Назад».

Key KEY_FORWARD = 4194377

Клавиша «Вперед».

Key KEY_STOP = 4194378

Клавиша остановки мультимедиа.

Key KEY_REFRESH = 4194379

Клавиша «Обновить».

Key KEY_VOLUMEDOWN = 4194380

Клавиша уменьшения громкости.

Key KEY_VOLUMEMUTE = 4194381

Клавиша отключения звука.

Key KEY_VOLUMEUP = 4194382

Клавиша увеличения громкости.

Key KEY_MEDIAPLAY = 4194388

Клавиша воспроизведения мультимедиа.

Key KEY_MEDIASTOP = 4194389

Клавиша остановки мультимедиа.

Key KEY_MEDIAPREVIOUS = 4194390

Клавиша «Предыдущая песня».

Key KEY_MEDIANEXT = 4194391

Клавиша «Следующая песня».

Key KEY_MEDIARECORD = 4194392

Клавиша «Медиа-запись».

Key KEY_HOMEPAGE = 4194393

Клавиша «Домашняя страница».

Key KEY_FAVORITES = 4194394

Клавиша "Избранное".

Клавиша поиска.

Key KEY_STANDBY = 4194396

Клавиша выключения.

Key KEY_OPENURL = 4194397

Клавиша «Открыть URL / Запустить браузер».

Key KEY_LAUNCHMAIL = 4194398

Клавиша «Запустить почту».

Key KEY_LAUNCHMEDIA = 4194399

Клавиша «Запуск Медиа».

Key KEY_LAUNCH0 = 4194400

Клавиша запуска 0.

Key KEY_LAUNCH1 = 4194401

Клавиша запуска 1.

Key KEY_LAUNCH2 = 4194402

Клавиша запуска 2.

Key KEY_LAUNCH3 = 4194403

Клавиша запуска 3.

Key KEY_LAUNCH4 = 4194404

Клавиша запуска 4.

Key KEY_LAUNCH5 = 4194405

Клавиша запуска 5.

Key KEY_LAUNCH6 = 4194406

Клавиша запуска 6.

Key KEY_LAUNCH7 = 4194407

Клавиша запуска 7.

Key KEY_LAUNCH8 = 4194408

Клавиша запуска 8.

Key KEY_LAUNCH9 = 4194409

Клавиша запуска 9.

Key KEY_LAUNCHA = 4194410

Клавиша запуска A.

Key KEY_LAUNCHB = 4194411

Клавиша запуска B.

Key KEY_LAUNCHC = 4194412

Клавиша запуска C.

Key KEY_LAUNCHD = 4194413

Клавиша запуска D.

Key KEY_LAUNCHE = 4194414

Клавиша запуска E.

Key KEY_LAUNCHF = 4194415

Клавиша запуска F.

Key KEY_GLOBE = 4194416

Клавиша «Глобус» на клавиатуре Mac/iPad.

Key KEY_KEYBOARD = 4194417

Клавиша «Экранная клавиатура» на клавиатуре iPad.

Key KEY_JIS_EISU = 4194418

Клавиша 英数 (Буквенно-цифровая) на клавиатуре Mac.

Key KEY_JIS_KANA = 4194419

Клавиша かな (Кана) на клавиатуре Mac.

Key KEY_UNKNOWN = 8388607

Неизвестная клавиша.

Key KEY_SPACE = 32

Клавиша пробела.

Key KEY_EXCLAM = 33

Клавиша восклицательного знака (!).

Key KEY_QUOTEDBL = 34

Двойная кавычка (").

Key KEY_NUMBERSIGN = 35

Знак числа или клавиша решетки (#).

Key KEY_DOLLAR = 36

Клавиша со знаком доллара ($).

Key KEY_PERCENT = 37

Клавиша знака процента (%).

Key KEY_AMPERSAND = 38

Клавиша амперсанда (&).

Key KEY_APOSTROPHE = 39

Клавиша апострофа (').

Key KEY_PARENLEFT = 40

Клавиша левой скобки (().

Key KEY_PARENRIGHT = 41

Клавиша правой скобки (().

Key KEY_ASTERISK = 42

Клавиша звездочки (знак сноски, умножения) (*).

Key KEY_PLUS = 43

Клавиша плюс (+).

Key KEY_COMMA = 44

Клавиша запятая (,).

Key KEY_MINUS = 45

Клавиша минус (-).

Key KEY_PERIOD = 46

Клавиша точки (.).

Key KEY_SLASH = 47

Клавиша слэш (деления) (/).

Key KEY_0 = 48

Клавиша 0.

Key KEY_1 = 49

Клавиша 1.

Key KEY_2 = 50

Клавиша 2.

Key KEY_3 = 51

Клавиша 3.

Key KEY_4 = 52

Клавиша 4.

Key KEY_5 = 53

Клавиша 5.

Key KEY_6 = 54

Клавиша 6.

Key KEY_7 = 55

Клавиша 7.

Key KEY_8 = 56

Клавиша 8.

Key KEY_9 = 57

Клавиша 9.

Key KEY_COLON = 58

Клавиша двоеточия (:).

Key KEY_SEMICOLON = 59

Клавиша точки с запятой (;).

Key KEY_LESS = 60

Клавиша знака «меньше» (<).

Key KEY_EQUAL = 61

Клавиша знака равенства (=).

Key KEY_GREATER = 62

Клавиша знака «больше» (>).

Key KEY_QUESTION = 63

Клавиша со знаком вопроса (?).

Key KEY_AT = 64

Клавиша at (@).

Key KEY_A = 65

Клавиша A.

Key KEY_B = 66

Клавиша B.

Key KEY_C = 67

Клавиша C.

Key KEY_D = 68

Клавиша D.

Key KEY_E = 69

Клавиша E.

Key KEY_F = 70

Клавиша F.

Key KEY_G = 71

Клавиша G.

Key KEY_H = 72

Клавиша H.

Key KEY_I = 73

Клавиша I.

Key KEY_J = 74

Клавиша J.

Key KEY_K = 75

Клавиша K.

Key KEY_L = 76

Клавиша L.

Key KEY_M = 77

Клавиша M.

Key KEY_N = 78

Клавиша N.

Key KEY_O = 79

Клавиша O.

Key KEY_P = 80

Клавиша P.

Key KEY_Q = 81

Клавиша Q.

Key KEY_R = 82

Клавиша R.

Key KEY_S = 83

Клавиша S.

Key KEY_T = 84

Клавиша T.

Key KEY_U = 85

Клавиша U.

Key KEY_V = 86

Клавиша V.

Key KEY_W = 87

Клавиша W.

Key KEY_X = 88

Клавиша X.

Key KEY_Y = 89

Клавиша Y.

Key KEY_Z = 90

Клавиша Z.

Key KEY_BRACKETLEFT = 91

Клавиша левой скобки ([lb]).

Key KEY_BACKSLASH = 92

Клавиша обратной косой черты (Backslash key) (\).

Key KEY_BRACKETRIGHT = 93

Клавиша правой скобки ([rb]).

Key KEY_ASCIICIRCUM = 94

Клавиша курсора (^).

Key KEY_UNDERSCORE = 95

Клавиша подчеркивания (_).

Key KEY_QUOTELEFT = 96

Клавиша обратного апострофа (`).

Key KEY_BRACELEFT = 123

Клавиша левой фигурной скобки ({).

Key KEY_BAR = 124

Вертикальная черта или pipe (|).

Key KEY_BRACERIGHT = 125

Клавиша правой фигурной скобки (}).

Key KEY_ASCIITILDE = 126

Клавиша тильда (~).

Key KEY_YEN = 165

Клавиша символа йены (¥).

Key KEY_SECTION = 167

Клавиша знака раздела (§).


flags KeyModifierMask: 🔗

KeyModifierMask KEY_CODE_MASK = 8388607

Клавиша Маска Кода.

KeyModifierMask KEY_MODIFIER_MASK = 2130706432

Маска клавиши-модификатора.

KeyModifierMask KEY_MASK_CMD_OR_CTRL = 16777216

Автоматически переназначается на KEY_META на macOS и на KEY_CTRL на других платформах, эта маска никогда не устанавливается в реальных событиях и должна использоваться только для сопоставления ключей.

KeyModifierMask KEY_MASK_SHIFT = 33554432

Маска клавиши Shift.

KeyModifierMask KEY_MASK_ALT = 67108864

Маска клавиш Alr или Option (на macOS).

KeyModifierMask KEY_MASK_META = 134217728

Маска клавиш Command (на macOS) или Meta/Windows.

KeyModifierMask KEY_MASK_CTRL = 268435456

Маска управляющей клавиши.

KeyModifierMask KEY_MASK_KPAD = 536870912

Маска клавиш цифровой клавиатуры.

KeyModifierMask KEY_MASK_GROUP_SWITCH = 1073741824

Маска клавиш группового переключатель.


enum KeyLocation: 🔗

KeyLocation KEY_LOCATION_UNSPECIFIED = 0

Используется для клавиш, которые появляются только один раз, или когда при сравнении не требуется различать `` LEFT`` и ``RIGHT `` версий.

Например, при использовании InputEvent.is_match(), событие которые, имеет KEY_LOCATION_UNSPECIFIED будет соответствовать любому KeyLocation в переданном событии.

KeyLocation KEY_LOCATION_LEFT = 1

Клавиша, которая находится слева от своего двойника.

KeyLocation KEY_LOCATION_RIGHT = 2

Клавиша, которая находится справа от своего двойника.


enum MouseButton: 🔗

MouseButton MOUSE_BUTTON_NONE = 0

Значение перечисления, которое не соответствует ни одной кнопке мыши. Это используется для инициализации свойств MouseButton с помощью общего состояния.

MouseButton MOUSE_BUTTON_LEFT = 1

Основная кнопка мыши, обычно назначаемая левой кнопке.

MouseButton MOUSE_BUTTON_RIGHT = 2

Дополнительная кнопка мыши, обычно назначаемая правой.

MouseButton MOUSE_BUTTON_MIDDLE = 3

Средняя кнопка мыши.

MouseButton MOUSE_BUTTON_WHEEL_UP = 4

Прокрутка колеса мыши вверх.

MouseButton MOUSE_BUTTON_WHEEL_DOWN = 5

Прокрутка колесика мыши вниз.

MouseButton MOUSE_BUTTON_WHEEL_LEFT = 6

Левая кнопка колесика мыши (имеется только на некоторых мышах).

MouseButton MOUSE_BUTTON_WHEEL_RIGHT = 7

Правая кнопка колесика мыши (есть только на некоторых мышах).

MouseButton MOUSE_BUTTON_XBUTTON1 = 8

Дополнительная кнопка мыши 1. Иногда присутствует, обычно по бокам мыши.

MouseButton MOUSE_BUTTON_XBUTTON2 = 9

Дополнительная кнопка мыши 2. Иногда присутствует, обычно по бокам мыши.


flags MouseButtonMask: 🔗

MouseButtonMask MOUSE_BUTTON_MASK_LEFT = 1

Маска основной кнопки мыши, обычно для левой кнопки.

MouseButtonMask MOUSE_BUTTON_MASK_RIGHT = 2

Маска дополнительной кнопки мыши, обычно для правой кнопки.

MouseButtonMask MOUSE_BUTTON_MASK_MIDDLE = 4

Маска средней кнопки мыши.

MouseButtonMask MOUSE_BUTTON_MASK_MB_XBUTTON1 = 128

Маска дополнительной кнопки мыши 1.

MouseButtonMask MOUSE_BUTTON_MASK_MB_XBUTTON2 = 256

Маска дополнительной кнопки мыши 2.


enum JoyButton: 🔗

JoyButton JOY_BUTTON_INVALID = -1

Недопустимая кнопка игрового контроллера.

JoyButton JOY_BUTTON_A = 0

Кнопка А игрового контроллера SDL. Соответствует нижней кнопке действия: Крестик на контроллерах Sony, А на контроллерах Xbox, B на контроллерах Nintendo.

JoyButton JOY_BUTTON_B = 1

Кнопка B игрового контроллера SDL. Соответствует правой кнопке действия: Кружок на контроллерах Sony, B на контроллерах Xbox, A на контроллерах Nintendo.

JoyButton JOY_BUTTON_X = 2

Кнопка X игрового контроллера SDL. Соответствует левой кнопке действия: Квадрат на контроллерах Sony, X на контроллерах Xbox, Y на контроллерах Nintendo.

JoyButton JOY_BUTTON_Y = 3

Кнопка Y игрового контроллера SDL. Соответствует верхней кнопке действия: Треугольник на контроллерах Sony, Y на контроллерах Xbox, X на контроллерах Nintendo.

JoyButton JOY_BUTTON_BACK = 4

Кнопка возврата игрового контроллера SDL. Соответствует кнопкам: Выбор на контроллерах Sony, Возврат на Xbox, "-" на контроллерах Nintendo.

JoyButton JOY_BUTTON_GUIDE = 5

Кнопка управления игрового контроллера SDL. Соответствует кнопкам Sony PS и Xbox Home.

JoyButton JOY_BUTTON_START = 6

Кнопка запуска игрового контроллера SDL. Соответствует кнопкам: Настройки на контроллерах Sony, Меню на контроллерах Xbox, "+" на контроллерах Nintendo.

JoyButton JOY_BUTTON_LEFT_STICK = 7

Левый стик игрового контроллера SDL. Соответствует кнопкам: L3 на Sony, L/LS на Xbox.

JoyButton JOY_BUTTON_RIGHT_STICK = 8

Правый стик игрового контроллера SDL. Соответствует кнопкам: R3 на Sony, R/RS на Xbox.

JoyButton JOY_BUTTON_LEFT_SHOULDER = 9

Левая плечевая кнопка игрового контроллера SDL. Соответствует кнопкам: L1 на Sony и LB на Xbox.

JoyButton JOY_BUTTON_RIGHT_SHOULDER = 10

Правая плечевая кнопка игрового контроллера SDL. Соответствует кнопкам: R1 на Sony и RB на Xbox.

JoyButton JOY_BUTTON_DPAD_UP = 11

Кнопка вверх на крестовине игрового контроллера.

JoyButton JOY_BUTTON_DPAD_DOWN = 12

Кнопка вниз на крестовине игрового контроллера.

JoyButton JOY_BUTTON_DPAD_LEFT = 13

Кнопка влево на крестовине игрового контроллера.

JoyButton JOY_BUTTON_DPAD_RIGHT = 14

Кнопка вправо на крестовине игрового контроллера.

JoyButton JOY_BUTTON_MISC1 = 15

Кнопка разное на игровом контроллере SDL. Соответствует кнопкам: поделиться на Xbox, микрофон на PS5, захват на Nintendo Switch.

JoyButton JOY_BUTTON_PADDLE1 = 16

Игровой контроллер SDL paddle кнопка 1.

JoyButton JOY_BUTTON_PADDLE2 = 17

Игровой контроллер SDL paddle кнопка 2.

JoyButton JOY_BUTTON_PADDLE3 = 18

Игровой контроллер SDL paddle кнопка 3.

JoyButton JOY_BUTTON_PADDLE4 = 19

Игровой контроллер SDL paddle кнопка 4.

JoyButton JOY_BUTTON_TOUCHPAD = 20

Кнопка сенсорной панели игрового контроллера SDL.

JoyButton JOY_BUTTON_SDL_MAX = 21

Количество кнопок игрового контроллера SDL.

JoyButton JOY_BUTTON_MAX = 128

Максимальное количество кнопок игрового контроллера, поддерживаемое движком. Фактический предел может быть ниже на определенных платформах:

  • Android: До 36 кнопок.

  • Linux: До 80 кнопок.

  • Windows и macOS: До 128 кнопок.


enum JoyAxis: 🔗

JoyAxis JOY_AXIS_INVALID = -1

Недопустимая ось игрового контроллера.

JoyAxis JOY_AXIS_LEFT_X = 0

Игровой контроллер, левый джойстик, ось X.

JoyAxis JOY_AXIS_LEFT_Y = 1

Игровой контроллер, левый джойстик, ось Y.

JoyAxis JOY_AXIS_RIGHT_X = 2

Игровой контроллер, правый джойстик, ось X.

JoyAxis JOY_AXIS_RIGHT_Y = 3

Игровой контроллер, правый джойстик, ось Y.

JoyAxis JOY_AXIS_TRIGGER_LEFT = 4

Левая ось триггера игрового контроллера.

JoyAxis JOY_AXIS_TRIGGER_RIGHT = 5

Правая ось триггера игрового контроллера.

JoyAxis JOY_AXIS_SDL_MAX = 6

Количество осей игрового контроллера SDL.

JoyAxis JOY_AXIS_MAX = 10

Максимальное количество игрового котроллера: OpenVR поддерживает до 5 Джойстиков, что в итоге дает 10 осей.


enum MIDIMessage: 🔗

MIDIMessage MIDI_MESSAGE_NONE = 0

Не соответствует ни одному MIDI-сообщению. Это значение по умолчанию для InputEventMIDI.message.

MIDIMessage MIDI_MESSAGE_NOTE_OFF = 8

MIDI-сообщение отправляется при отпускании ноты.

Примечание: Не все MIDI-устройства отправляют это сообщение; некоторые могут отправлять MIDI_MESSAGE_NOTE_ON с InputEventMIDI.velocity, установленным на 0.

MIDIMessage MIDI_MESSAGE_NOTE_ON = 9

MIDI-сообщение, отправляемое при нажатии на ноту.

MIDIMessage MIDI_MESSAGE_AFTERTOUCH = 10

MIDI-сообщение, отправляемое для указания изменения давления при нажатии ноты, также называемое aftertouch.

MIDIMessage MIDI_MESSAGE_CONTROL_CHANGE = 11

MIDI-сообщение, отправляемое после изменения значения контроллера. В MIDI устройстве, контроллер — любое устройство, которое не проигрывает ноты. К ним могут относиться ползунки для регулировки громкости звука, регулировки баланса и панорамирования, а также переключатели и педали. Подробнее о них смотрите по ссылке: General MIDI specification.

MIDIMessage MIDI_MESSAGE_PROGRAM_CHANGE = 12

MIDI-сообщение, отправляемое после изменения MIDI-устройством своего инструмента (также называется программой или предустановкой).

MIDIMessage MIDI_MESSAGE_CHANNEL_PRESSURE = 13

MIDI-сообщение, отправляемое для указания изменения давления для всего канала. Некоторые MIDI-устройства могут отправлять его вместо MIDI_MESSAGE_AFTERTOUCH.

MIDIMessage MIDI_MESSAGE_PITCH_BEND = 14

MIDI-сообщение, отправляемое после изменения значения питч-бендера, обычно колесиком, расположенным на MIDI-устройстве.

MIDIMessage MIDI_MESSAGE_SYSTEM_EXCLUSIVE = 240

Системное эксклюзивное сообщение MIDI (SysEx). Этот тип сообщения не является стандартным и во многом зависит от отправляющего его MIDI-устройства.

Примечание: Получение данных этого сообщения через InputEventMIDI не реализовано.

MIDIMessage MIDI_MESSAGE_QUARTER_FRAME = 241

MIDI-сообщение, отправляемое каждую четверть кадра для синхронизации подключенных MIDI-устройств. Связано с MIDI_MESSAGE_TIMING_CLOCK.

Примечание: Получение данных этого сообщения через InputEventMIDI не реализовано.

MIDIMessage MIDI_MESSAGE_SONG_POSITION_POINTER = 242

MIDI-сообщение, отправляемое для перехода на новую позицию в текущей секвенции или песне.

Примечание: Получение данных этого сообщения через InputEventMIDI не реализовано.

MIDIMessage MIDI_MESSAGE_SONG_SELECT = 243

MIDI-сообщение отправлено для выбора последовательности или песни для воспроизведения.

Примечание: Получение данных этого сообщения из InputEventMIDI не реализовано.

MIDIMessage MIDI_MESSAGE_TUNE_REQUEST = 246

MIDI-сообщение, отправляемое для запроса калибровки настройки. Используется в аналоговых синтезаторах. Большинству современных MIDI-устройств это сообщение не требуется.

MIDIMessage MIDI_MESSAGE_TIMING_CLOCK = 248

MIDI-сообщение, отправляемое 24 раза после MIDI_MESSAGE_QUARTER_FRAME, для синхронизации подключенных MIDI-устройств.

MIDIMessage MIDI_MESSAGE_START = 250

MIDI сообщение, отправляемое для запуска текущей последовательности или песни с начала.

MIDIMessage MIDI_MESSAGE_CONTINUE = 251

MIDI-сообщение, отправляемое для возобновления воспроизведения с того момента, когда текущая секвенция или песня была приостановлена.

MIDIMessage MIDI_MESSAGE_STOP = 252

MIDI-сообщение отправляется для приостановки текущей последовательности или песни.

MIDIMessage MIDI_MESSAGE_ACTIVE_SENSING = 254

MIDI-сообщение, многократно отправляемое во время бездействия MIDI-устройства для того, чтобы сообщить приемнику, что связь поддерживается. Большинство MIDI-устройств это сообщение не отправляется.

MIDIMessage MIDI_MESSAGE_SYSTEM_RESET = 255

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


enum Error: 🔗

Error OK = 0

Методы, возвращающие Error, возвращают OK, когда ошибок не произошло.

Поскольку OK имеет значение 0, а все остальные константы ошибок являются положительными целыми числами, его также можно использовать в булевых проверках.

var error = method_that_returns_error()
if error != OK:
    printerr("Failure!")

#Или, в качестве альтернативы:
if error:
    printerr("Still failing!")

Примечание: Многие функции не возвращают код ошибки, но выводят сообщения об ошибках на стандартный вывод.

Error FAILED = 1

Общая ошибка.

Error ERR_UNAVAILABLE = 2

Ошибка "Недоступно".

Error ERR_UNCONFIGURED = 3

Ошибка "Не настроено".

Error ERR_UNAUTHORIZED = 4

Ошибка "Не авторизовано".

Error ERR_PARAMETER_RANGE_ERROR = 5

Ошибка диапазона параметров.

Error ERR_OUT_OF_MEMORY = 6

Ошибка нехватки памяти (OOM).

Error ERR_FILE_NOT_FOUND = 7

Ошибка "Файл: Не найден".

Error ERR_FILE_BAD_DRIVE = 8

Ошибка "Файл: Недопустимый диск".

Error ERR_FILE_BAD_PATH = 9

Ошибка "Файл: Неверный путь".

Error ERR_FILE_NO_PERMISSION = 10

Ошибка "Файл: Нет разрешения".

Error ERR_FILE_ALREADY_IN_USE = 11

Ошибка "Файл: Уже используется".

Error ERR_FILE_CANT_OPEN = 12

Ошибка "Файл: Невозможно открыть".

Error ERR_FILE_CANT_WRITE = 13

Ошибка "Файл: Невозможно записать".

Error ERR_FILE_CANT_READ = 14

Ошибка "Файл: Невозможно прочитать".

Error ERR_FILE_UNRECOGNIZED = 15

Ошибка "Файл: Не распознан".

Error ERR_FILE_CORRUPT = 16

Ошибка "Файл: Повреждён".

Error ERR_FILE_MISSING_DEPENDENCIES = 17

Ошибка "Файл: Отсутствуют зависимости".

Error ERR_FILE_EOF = 18

Ошибка "Файл: Конец файла (EOF)".

Error ERR_CANT_OPEN = 19

Ошибка "Невозможно открыть".

Error ERR_CANT_CREATE = 20

Ошибка "Невозможно создать".

Error ERR_QUERY_FAILED = 21

Ошибка "Не удалось выполнить запрос".

Error ERR_ALREADY_IN_USE = 22

Ошибка "Уже используется".

Error ERR_LOCKED = 23

Ошибка "Заблокировано".

Error ERR_TIMEOUT = 24

Ошибка "Время ожидания истекло".

Error ERR_CANT_CONNECT = 25

Ошибка "Невозможно подключиться".

Error ERR_CANT_RESOLVE = 26

Ошибка "Невозможно разрешить".

Error ERR_CONNECTION_ERROR = 27

Ошибка подключения.

Error ERR_CANT_ACQUIRE_RESOURCE = 28

Ошибка "Невозможно получить ресурс".

Error ERR_CANT_FORK = 29

Ошибка «Невозможно разветвить процесс».

Error ERR_INVALID_DATA = 30

Ошибка неверных данных.

Error ERR_INVALID_PARAMETER = 31

Ошибка неверного параметра.

Error ERR_ALREADY_EXISTS = 32

Ошибка "Уже существует".

Error ERR_DOES_NOT_EXIST = 33

Ошибка "Не существует".

Error ERR_DATABASE_CANT_READ = 34

База данных: Ошибка чтения.

Error ERR_DATABASE_CANT_WRITE = 35

База данных: Ошибка записи.

Error ERR_COMPILATION_FAILED = 36

Ошибка компиляции.

Error ERR_METHOD_NOT_FOUND = 37

Ошибка "Метод не найден".

Ошибка линковки.

Error ERR_SCRIPT_FAILED = 39

Ошибка при выполнении скрипта.

Ошибка циклической ссылки (цикл импорта).

Error ERR_INVALID_DECLARATION = 41

Ошибка "Недопустимое определение".

Error ERR_DUPLICATE_SYMBOL = 42

Ошибка "Повторяющийся символ".

Error ERR_PARSE_ERROR = 43

Ошибка синтаксического разбора.

Error ERR_BUSY = 44

Ошибка "Занято".

Error ERR_SKIP = 45

Ошибка "Пропущено".

Error ERR_HELP = 46

Ошибка при получении справки. Служит для внутреннего использования при передаче --version или --help в качестве опций исполняемого файла.

Error ERR_BUG = 47

Ошибка, вызванная проблемой реализации метода.

Примечание: Если встроенный метод возвращает этот код, пожалуйста, откройте проблему на трекере проблем GitHub.

Error ERR_PRINTER_ON_FIRE = 48

Ошибка «Принтер в огне» (это пасхальное яйцо, ни один встроенный метод не возвращает этот код ошибки).


enum PropertyHint: 🔗

PropertyHint PROPERTY_HINT_NONE = 0

Свойство не имеет подсказку в редакторе.

PropertyHint PROPERTY_HINT_RANGE = 1

Подсказка указывает, что свойство типа int или float должно находиться в диапазоне, указанном в строке подсказки "min,max" или "min,max,step". Строка подсказки может дополнительно включать "or_greater" и/или "or_less", чтобы разрешить ручной ввод значений, превышающих или не превышающих минимальное значение соответственно.

Пример: "-360,360,1,or_greater,or_less".

Кроме того, можно добавить другие ключевые слова: "exp" для редактирования диапазона в экспоненциальных значениях, "radians_as_degrees" для редактирования углов в радианах в градусах (значения диапазона также указываются в градусах), "degrees" для указания угла, "prefer_slider" для отображения ползунка для целых чисел, "hide_control" для скрытия ползунка или стрелок вверх-вниз и "suffix:px/s" для отображения суффикса, указывающего единицу измерения значения (например, px/s для пикселей в секунду).

PropertyHint PROPERTY_HINT_ENUM = 2

Подсказка указывает, что свойство типа int, String или StringName представляет собой перечисляемое значение, которое нужно выбрать из списка, указанного в строке подсказки.

Строка подсказки представляет собой список имен, разделенных запятыми, например, "Hello,Something,Else". Пробелы не удаляются с обоих концов имени. Для целочисленных свойств первое имя в списке имеет значение 0, следующее — 1 и так далее. Явные значения также можно указать, добавив к имени :integer, например, "Zero,One,Three:3,Four,Six:6".

PropertyHint PROPERTY_HINT_ENUM_SUGGESTION = 3

Подсказка указывает, что свойство типа String или StringName может представлять собой перечисляемое значение, которое можно выбрать из списка, указанного в строке подсказки, например, "Hello,Something,Else". Подробнее см. PROPERTY_HINT_ENUM.

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

PropertyHint PROPERTY_HINT_EXP_EASING = 4

Подсказки, что свойство float должно быть отредактировано с помощью функции экспоненциального смягчения. Строка подсказки может включать "attenuation" для переворота кривой по горизонтали и/или "positive_only" для исключения смягчения внутрь/наружу и ограничения значений до значений, которые должны быть больше или равны нулю.

Указывает, что векторное свойство позволяет связать его компоненты. Например, это позволяет редактировать Vector2.x и Vector2.y вместе.

PropertyHint PROPERTY_HINT_FLAGS = 6

Подсказка указывает, что свойство типа int представляет собой битовую маску с именованными битовыми флагами.

Строка подсказки представляет собой список имен, разделенных запятыми, например, "Bit0,Bit1,Bit2,Bit3". Пробелы не удаляются с обоих концов имени. Первое имя в списке имеет значение 1, следующее — 2, затем 4, 8, 16 и так далее. Явные значения также можно указать, добавив к имени :integer, например, "A:4,B:8,C:16". Вы также можете комбинировать несколько флагов ("A:4,B:8,AB:12,C:16").

Примечание: Значение флага должно быть не менее 1 и не более 2 ** 32 - 1.

Примечание: В отличие от PROPERTY_HINT_ENUM, предыдущее явное значение не учитывается. Для подсказки "A:16,B,C" A равно 16, B равно 2, C равно 4.

PropertyHint PROPERTY_HINT_LAYERS_2D_RENDER = 7

Указывает, что свойство int является битовой маской, использующей необязательно именованные слои 2D-рендеринга.

PropertyHint PROPERTY_HINT_LAYERS_2D_PHYSICS = 8

Указывает, что свойство int является битовой маской, использующей необязательно именованные 2D-физические слои.

PropertyHint PROPERTY_HINT_LAYERS_2D_NAVIGATION = 9

Указывает, что свойство int является битовой маской, использующей необязательно именованные слои 2D-навигации.

PropertyHint PROPERTY_HINT_LAYERS_3D_RENDER = 10

Указывает, что свойство int является битовой маской, использующей необязательно именованные слои 3D-рендеринга.

PropertyHint PROPERTY_HINT_LAYERS_3D_PHYSICS = 11

Указывает, что свойство int является битовой маской, использующей необязательно именованные слои 3D-физики.

PropertyHint PROPERTY_HINT_LAYERS_3D_NAVIGATION = 12

Указывает, что свойство int является битовой маской, использующей необязательно именованные слои 3D-навигации.

PropertyHint PROPERTY_HINT_LAYERS_AVOIDANCE = 37

Указывает, что целочисленное свойство является битовой маской, используя необязательно именованные слои избегания в навигации.

PropertyHint PROPERTY_HINT_FILE = 13

Подсказка, что свойство String представляет собой путь к файлу. При его редактировании откроется диалоговое окно для выбора пути. Строка подсказки может представлять собой набор фильтров с подстановочными знаками, например, "*.png,*.jpg". По умолчанию файл будет сохранён как UID (если он доступен). Вы можете использовать методы ResourceUID, чтобы преобразовать его обратно в путь. Для сохранения необработанного пути используйте PROPERTY_HINT_FILE_PATH.

PropertyHint PROPERTY_HINT_DIR = 14

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

PropertyHint PROPERTY_HINT_GLOBAL_FILE = 15

Указывает, что свойство String является абсолютным путем к файлу вне папки проекта. При его редактировании откроется диалоговое окно для выбора пути. Подсказка может быть набором фильтров с подстановочными знаками, например "*.png,*.jpg".

PropertyHint PROPERTY_HINT_GLOBAL_DIR = 16

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

PropertyHint PROPERTY_HINT_RESOURCE_TYPE = 17

Указывает, что свойство является экземпляром типа, производного от Resource, опционально указываемого через строку подсказки (например, "Texture2D"). При его редактировании отобразится всплывающее меню допустимых типов ресурсов для создания экземпляра.

PropertyHint PROPERTY_HINT_MULTILINE_TEXT = 18

Подсказка указывает, что свойство String содержит текст с переносами строк. При его редактировании появится текстовое поле ввода, куда можно вводить переносы строк.

Строку подсказки можно установить на "monospace", чтобы принудительно использовать моноширинный шрифт в поле ввода.

Если задана строка подсказки "no_wrap", поле ввода не будет переносить строки по границам, вместо этого область будет прокручиваться.

PropertyHint PROPERTY_HINT_EXPRESSION = 19

Указывает, что свойство String является Expression.

PropertyHint PROPERTY_HINT_PLACEHOLDER_TEXT = 20

Указывает, что свойство String должно отображать текст-заполнитель в своем поле ввода, если оно пустое. Строка подсказки — это текст-заполнитель для использования.

PropertyHint PROPERTY_HINT_COLOR_NO_ALPHA = 21

Подсказка о том, что свойство Color следует редактировать, не влияя на его прозрачность (Color.a не подлежит редактированию).

PropertyHint PROPERTY_HINT_OBJECT_ID = 22

Указывает, что значение свойства - это объект, представленный как ID объекта, тип которого указан в строке подсказки. Используется отладчиком.

PropertyHint PROPERTY_HINT_TYPE_STRING = 23

Если свойство - String, то это намекает, что свойство представляет определенный тип (класс). Это позволяет выбрать тип из диалогового окна создания. Свойство сохранит выбранный тип как строку.

Если свойство - Array, то оно подсказывает редактору, как отображать элементы. hint_string должен кодировать вложенные типы с помощью ":" и "/".

Если свойство - Dictionary, то оно подсказывает редактору, как отображать элементы. hint_string работает также, как и с Array, с ";", разделяющий ключ и значение.

# Массив с elem_type.
hint_string = "%d:" % [elem_type]
hint_string = "%d/%d:%s" % [elem_type, elem_hint, elem_hint_string]
# Двумерный массив с elem_type (массив массивов с elem_type).
hint_string = "%d:%d:" % [TYPE_ARRAY, elem_type]
hint_string = "%d:%d/%d:%s" % [TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]
#Трехмерный массив с elem_type (массив массивов внутри массивов с elem_type).
hint_string = "%d:%d:%d:" % [TYPE_ARRAY, TYPE_ARRAY, elem_type]
hint_string = "%d:%d:%d/%d:%s" % [TYPE_ARRAY, TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]

Примеры:

hint_string = "%d:" % [TYPE_INT] # Массив с целыми числами.
hint_string = "%d/%d:1,10,1" % [TYPE_INT, PROPERTY_HINT_RANGE] # Массив с целыми числами (в диапазоне от 1 до 10).
hint_string = "%d/%d:Zero,One,Two" % [TYPE_INT, PROPERTY_HINT_ENUM] # Массив с целыми числами (enum).
hint_string = "%d/%d:Zero,One,Three:3,Six:6" % [TYPE_INT, PROPERTY_HINT_ENUM] # Массив с целыми числами (enum).
hint_string = "%d/%d:*.png" % [TYPE_STRING, PROPERTY_HINT_FILE] # Массив со строками (пути к файлам).
hint_string = "%d/%d:Texture2D" % [TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Массив с текстурами.

hint_string = "%d:%d:" % [TYPE_ARRAY, TYPE_FLOAT] # Двумерный массив чисел с плавающей точкой (тип float)
hint_string = "%d:%d/%d:" % [TYPE_ARRAY, TYPE_STRING, PROPERTY_HINT_MULTILINE_TEXT] # Двумерный массив с многострочными строками.
hint_string = "%d:%d/%d:-1,1,0.1" % [TYPE_ARRAY, TYPE_FLOAT, PROPERTY_HINT_RANGE] # Двумерный массив чисел с плавающей точкой (в диапазоне от -1 до 1).
hint_string = "%d:%d/%d:Texture2D" % [TYPE_ARRAY, TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Двумерный масив с текстурами.

Примечание: Завершающее двоеточие необходимо для правильного определения встроенных типов.

PropertyHint PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE = 24

Устарело: This hint is not used by the engine.

PropertyHint PROPERTY_HINT_OBJECT_TOO_BIG = 25

Указывает, что обьект слишком большой для отправки через отладчик.

PropertyHint PROPERTY_HINT_NODE_PATH_VALID_TYPES = 26

Подсказка о том, что строка подсказки указывает допустимые типы узлов для свойства типа NodePath.

PropertyHint PROPERTY_HINT_SAVE_FILE = 27

Подсказка, что свойство String является путем к файлу. При его редактировании откроется диалоговое окно для выбора пути сохранения файла. Диалоговое окно имеет доступ к каталогу проекта. Строка подсказки может быть набором фильтров с подстановочными знаками, например "*.png,*.jpg". См. также FileDialog.filters.

PropertyHint PROPERTY_HINT_GLOBAL_SAVE_FILE = 28

Подсказка, что свойство String является путем к файлу. При его редактировании откроется диалоговое окно для выбора пути сохранения файла. Диалоговое окно имеет доступ ко всей файловой системе. Строка подсказки может быть набором фильтров с подстановочными знаками, например "*.png,*.jpg". См. также FileDialog.filters.

PropertyHint PROPERTY_HINT_INT_IS_OBJECTID = 29

Устарело: This hint is not used by the engine.

PropertyHint PROPERTY_HINT_INT_IS_POINTER = 30

Подсказывает, что свойство int является указателем. Используется GDExtension.

PropertyHint PROPERTY_HINT_ARRAY_TYPE = 31

Указывает, что свойство представляет собой Array с сохраненным типом, указанным в строке подсказки. Строка подсказки содержит тип массива (например, "String").

Используйте формат строки подсказки из PROPERTY_HINT_TYPE_STRING для большего контроля над сохраненным типом.

PropertyHint PROPERTY_HINT_DICTIONARY_TYPE = 38

Указывает, что свойство представляет собой Dictionary с сохраненными типами, указанными в строке подсказки. Строка подсказки содержит типы ключа и значения, разделенные точкой с запятой (например, "int;String").

Используйте формат строки подсказки из PROPERTY_HINT_TYPE_STRING для большего контроля над сохраненными типами.

PropertyHint PROPERTY_HINT_LOCALE_ID = 32

Подсказки, что строковое свойство — это код локали. При его редактировании откроется диалоговое окно локали для выбора языка и страны.

PropertyHint PROPERTY_HINT_LOCALIZABLE_STRING = 33

Подсказки, что свойство словаря — это карта перевода строк. Ключи словаря — это коды локалей, а значения — это переведенные строки.

PropertyHint PROPERTY_HINT_NODE_TYPE = 34

Подсказки, что свойство является экземпляром типа, производного от Node, опционально указываемого через строку подсказки (например, "Node2D"). При его редактировании отобразится диалоговое окно для выбора узла из сцены.

PropertyHint PROPERTY_HINT_HIDE_QUATERNION_EDIT = 35

Подсказка о том, что свойство кватерниона должно отключать временный редактор Эйлера.

PropertyHint PROPERTY_HINT_PASSWORD = 36

Указывает, что строковое свойство является паролем и каждый символ заменяется секретным символом.

PropertyHint PROPERTY_HINT_TOOL_BUTTON = 39

Подсказки, что свойство Callable должно отображаться как кнопка, на которую можно нажать. При нажатии кнопки вызывается вызываемый объект. Строка подсказки указывает текст кнопки и, при необходимости, значок из типа темы "EditorIcons".

"Click me!" - A button with the text "Click me!" and the default "Callable" icon.
"Click me!,ColorRect" - A button with the text "Click me!" and the "ColorRect" icon.

Примечание: Callable не может быть правильно сериализован (serialized) и сохранен в файле, поэтому рекомендуется использовать PROPERTY_USAGE_EDITOR вместо PROPERTY_USAGE_DEFAULT.

PropertyHint PROPERTY_HINT_ONESHOT = 40

Подсказки о том, что свойство будет изменено само по себе после настройки, например AudioStreamPlayer.playing или GPUParticles3D.emitting.

PropertyHint PROPERTY_HINT_GROUP_ENABLE = 42

Указывает, что логическое свойство включит функцию, связанную с группой, в которой оно встречается. Свойство будет отображаться в виде флажка в заголовке группы. Работает только внутри группы или подгруппы.

По умолчанию отключение свойства скрывает все свойства в группе. Используйте необязательную строку подсказки "checkbox_only", чтобы отключить это поведение.

PropertyHint PROPERTY_HINT_INPUT_NAME = 43

Указывает, что свойство String или StringName является названием действия. Это позволяет выбрать любое название действия из списка действий в настройках проекта. Подсказка может содержать два варианта, разделённых запятой:

  • Если они содержат "show_builtin", в выборку включаются встроенные действия.

  • Если они содержат "loose_mode", включается свободный режим. Это позволяет выбрать название любого действия, даже если оно не представлено в списке действий.

PropertyHint PROPERTY_HINT_FILE_PATH = 44

Аналогично PROPERTY_HINT_FILE, но свойство хранится как необработанный путь, а не UID. Это означает, что ссылка будет повреждена при перемещении файла. По возможности используйте PROPERTY_HINT_FILE.

PropertyHint PROPERTY_HINT_MAX = 45

Представляет размер перечисления PropertyHint.


flags PropertyUsageFlags: 🔗

PropertyUsageFlags PROPERTY_USAGE_NONE = 0

Свойство не сохраняется и не отображается в редакторе. Это значение по умолчанию для неэкспортируемых свойств.

PropertyUsageFlags PROPERTY_USAGE_STORAGE = 2

Свойство сериализуется и сохраняется в файле сцены (по умолчанию для экспортируемых свойств).

PropertyUsageFlags PROPERTY_USAGE_EDITOR = 4

Свойство отображается в EditorInspector (по умолчанию для экспортированных свойств).

PropertyUsageFlags PROPERTY_USAGE_INTERNAL = 8

Свойство исключено из ссылки на класс.

PropertyUsageFlags PROPERTY_USAGE_CHECKABLE = 16

Свойство можно проверить в EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_CHECKED = 32

Свойство проверяется в EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_GROUP = 64

Используется для группировки свойств в редакторе. См. EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_CATEGORY = 128

Используется для категоризации свойств в редакторе.

PropertyUsageFlags PROPERTY_USAGE_SUBGROUP = 256

Используется для группировки свойств в редакторе в подгруппу (в группе). См. EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_CLASS_IS_BITFIELD = 512

Свойство является битовым полем, т.е. оно содержит несколько флагов, представленных в виде битов.

PropertyUsageFlags PROPERTY_USAGE_NO_INSTANCE_STATE = 1024

Свойство не сохраняет свое состояние в PackedScene.

PropertyUsageFlags PROPERTY_USAGE_RESTART_IF_CHANGED = 2048

При редактировании свойства пользователю предлагается перезапустить редактор.

PropertyUsageFlags PROPERTY_USAGE_SCRIPT_VARIABLE = 4096

Свойство является переменной скрипта. PROPERTY_USAGE_SCRIPT_VARIABLE может использоваться для различения экспортированных переменных скрипта от встроенных переменных (которые не имеют этого флага использования). По умолчанию PROPERTY_USAGE_SCRIPT_VARIABLE не применяется к переменным, которые создаются путем переопределения Object._get_property_list() в скрипте.

PropertyUsageFlags PROPERTY_USAGE_STORE_IF_NULL = 8192

Значение свойства типа Object будет сохранено, даже если его значение равно null.

PropertyUsageFlags PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED = 16384

Если это свойство изменено, все поля инспектора будут обновлены.

PropertyUsageFlags PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE = 32768

Устарело: This flag is not used by the engine.

PropertyUsageFlags PROPERTY_USAGE_CLASS_IS_ENUM = 65536

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

PropertyUsageFlags PROPERTY_USAGE_NIL_IS_VARIANT = 131072

Если свойство имеет значение по умолчанию nil, его тип будет Variant.

PropertyUsageFlags PROPERTY_USAGE_ARRAY = 262144

Это свойство представляет собой количество элементов в массиве свойств, то есть в списке групп связанных свойств. Свойства, определенные с таким использованием, также должны иметь специальное поле class_name в формате label,prefix. Поле может также содержать дополнительные параметры, разделенные запятыми:

  • page_size=N: Переопределяет EditorSettings.interface/inspector/max_array_dictionary_items_per_page для этого массива.

  • add_button_text=text: Текст, отображаемый кнопкой «Добавить элемент».

  • static: Элементы нельзя переставлять.

  • const: Новые элементы нельзя добавлять.

  • numbered: Рядом с каждым элементом будет отображаться индекс.

  • unfoldable: Массив нельзя свернуть.

  • swap_method=method_name: Метод, который будет вызываться при обмене местами двух элементов. Метод должен принимать 2 параметра типа int, которые будут индексами обмениваемых элементов.

Обратите внимание, что создание полноценного массива свойств требует шаблонного кода, включающего Object._get_property_list().

PropertyUsageFlags PROPERTY_USAGE_ALWAYS_DUPLICATE = 524288

При дублировании ресурса с помощью Resource.duplicate() и установке этого флага для свойства этого ресурса свойство всегда должно дублироваться, независимо от параметра subresources bool.

PropertyUsageFlags PROPERTY_USAGE_NEVER_DUPLICATE = 1048576

При дублировании ресурса с помощью Resource.duplicate() и установке этого флага для свойства этого ресурса свойство никогда не должно дублироваться, независимо от параметра subresources bool.

PropertyUsageFlags PROPERTY_USAGE_HIGH_END_GFX = 2097152

Свойство отображается в редакторе только если поддерживаются современные методы отрисовки (метод отрисовки Совместимость исключен).

PropertyUsageFlags PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT = 4194304

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

PropertyUsageFlags PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT = 8388608

Используйте, когда ресурс создается «на лету», т. е. геттер всегда будет возвращать другой экземпляр. ResourceSaver нуждается в этой информации для правильного сохранения таких ресурсов.

PropertyUsageFlags PROPERTY_USAGE_KEYING_INCREMENTS = 16777216

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

PropertyUsageFlags PROPERTY_USAGE_DEFERRED_SET_RESOURCE = 33554432

Устарело: This flag is not used by the engine.

PropertyUsageFlags PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT = 67108864

Если это свойство — Resource, а базовый объект — Node, экземпляр ресурса будет автоматически создаваться всякий раз, когда узел создается в редакторе.

PropertyUsageFlags PROPERTY_USAGE_EDITOR_BASIC_SETTING = 134217728

Свойство считается базовой настройкой и будет отображаться даже при отключенном расширенном режиме. Используется для настроек проекта.

PropertyUsageFlags PROPERTY_USAGE_READ_ONLY = 268435456

Свойство доступно только для чтения в инспекторе редактора.

PropertyUsageFlags PROPERTY_USAGE_SECRET = 536870912

Свойство предустановки экспорта с этим флагом содержит конфиденциальную информацию и хранится отдельно от остальной конфигурации предустановки экспорта.

PropertyUsageFlags PROPERTY_USAGE_DEFAULT = 6

Использование по умолчанию (хранение и редактор).

PropertyUsageFlags PROPERTY_USAGE_NO_EDITOR = 2

Использование по умолчанию, но без отображения свойства в редакторе (хранение).


flags MethodFlags: 🔗

MethodFlags METHOD_FLAG_NORMAL = 1

Флаг для обычного метода.

MethodFlags METHOD_FLAG_EDITOR = 2

Флаг для метода редактора.

MethodFlags METHOD_FLAG_CONST = 4

Флаг для константного метода.

MethodFlags METHOD_FLAG_VIRTUAL = 8

Флаг для виртуального метода.

MethodFlags METHOD_FLAG_VARARG = 16

Флаг для метода с переменным числом аргументов.

MethodFlags METHOD_FLAG_STATIC = 32

Флаг для статического метода.

MethodFlags METHOD_FLAG_OBJECT_CORE = 64

Используется внутри. Позволяет не выгружать основные виртуальные методы (такие как Object._notification()) в JSON API.

MethodFlags METHOD_FLAG_VIRTUAL_REQUIRED = 128

Флаг обязательного виртуального метода. В GDScript этот флаг устанавливается для абстрактных функций.

MethodFlags METHOD_FLAGS_DEFAULT = 1

Флаги метода по умолчанию (нормальные).


enum Variant.Type: 🔗

Variant.Type TYPE_NIL = 0

Переменная равна null.

Variant.Type TYPE_BOOL = 1

Переменная типа bool.

Variant.Type TYPE_INT = 2

Переменная типа int.

Variant.Type TYPE_FLOAT = 3

Переменная имеет тип float.

Variant.Type TYPE_STRING = 4

Переменная типа String.

Variant.Type TYPE_VECTOR2 = 5

Переменная типа Vector2.

Variant.Type TYPE_VECTOR2I = 6

Переменная имеет тип Vector2i.

Variant.Type TYPE_RECT2 = 7

Переменная типа Rect2.

Variant.Type TYPE_RECT2I = 8

Переменная имеет тип Rect2i.

Variant.Type TYPE_VECTOR3 = 9

Переменная типа Vector3.

Variant.Type TYPE_VECTOR3I = 10

Переменная имеет тип Vector3i.

Variant.Type TYPE_TRANSFORM2D = 11

Переменная типа Transform2D.

Variant.Type TYPE_VECTOR4 = 12

Переменная имеет тип Vector4.

Variant.Type TYPE_VECTOR4I = 13

Переменная имеет тип Vector4i.

Variant.Type TYPE_PLANE = 14

Переменная типа Plane.

Variant.Type TYPE_QUATERNION = 15

Переменная имеет тип Quaternion.

Variant.Type TYPE_AABB = 16

Переменная типа AABB.

Variant.Type TYPE_BASIS = 17

Переменная типа Basis.

Variant.Type TYPE_TRANSFORM3D = 18

Переменная имеет тип Transform3D.

Variant.Type TYPE_PROJECTION = 19

Переменная имеет тип Проекция.

Variant.Type TYPE_COLOR = 20

Переменная типа Color.

Variant.Type TYPE_STRING_NAME = 21

Переменная имеет тип StringName.

Variant.Type TYPE_NODE_PATH = 22

Переменная типа NodePath.

Variant.Type TYPE_RID = 23

Переменная типа RID.

Variant.Type TYPE_OBJECT = 24

Переменная типа Object.

Variant.Type TYPE_CALLABLE = 25

Переменная имеет тип Callable.

Variant.Type TYPE_SIGNAL = 26

Переменная имеет тип Signal.

Variant.Type TYPE_DICTIONARY = 27

Переменная типа Dictionary.

Variant.Type TYPE_ARRAY = 28

Переменная типа Array.

Variant.Type TYPE_PACKED_BYTE_ARRAY = 29

Переменная имеет тип PackedByteArray.

Variant.Type TYPE_PACKED_INT32_ARRAY = 30

Переменная имеет тип PackedInt32Array.

Variant.Type TYPE_PACKED_INT64_ARRAY = 31

Переменная имеет тип PackedInt64Array.

Variant.Type TYPE_PACKED_FLOAT32_ARRAY = 32

Переменная имеет тип PackedFloat32Array.

Variant.Type TYPE_PACKED_FLOAT64_ARRAY = 33

Переменная имеет тип PackedFloat64Array.

Variant.Type TYPE_PACKED_STRING_ARRAY = 34

Переменная имеет тип PackedStringArray.

Variant.Type TYPE_PACKED_VECTOR2_ARRAY = 35

Переменная имеет тип PackedVector2Array.

Variant.Type TYPE_PACKED_VECTOR3_ARRAY = 36

Переменная имеет тип PackedVector3Array.

Variant.Type TYPE_PACKED_COLOR_ARRAY = 37

Переменная имеет тип PackedColorArray.

Variant.Type TYPE_PACKED_VECTOR4_ARRAY = 38

Переменная имеет тип PackedVector4Array.

Variant.Type TYPE_MAX = 39

Представляет размер перечисления Variant.Type.


enum Variant.Operator: 🔗

Variant.Operator OP_EQUAL = 0

Оператор "Равно" (==).

Variant.Operator OP_NOT_EQUAL = 1

Оператор "Не равно" (!=).

Variant.Operator OP_LESS = 2

Оператор "Меньше чем" (<).

Variant.Operator OP_LESS_EQUAL = 3

Оператор "Меньше чем или равно" (<=).

Variant.Operator OP_GREATER = 4

Оператор "Больше чем" (>).

Variant.Operator OP_GREATER_EQUAL = 5

Оператор "Больше чем или равно" (>=).

Variant.Operator OP_ADD = 6

Оператор сложения (+).

Variant.Operator OP_SUBTRACT = 7

Оператор вычитания (-).

Variant.Operator OP_MULTIPLY = 8

Оператор умножения (*).

Variant.Operator OP_DIVIDE = 9

Оператор деления (/).

Variant.Operator OP_NEGATE = 10

Унарный оператор отрицания (-).

Variant.Operator OP_POSITIVE = 11

Унарный оператор "Плюс" (+).

Variant.Operator OP_MODULE = 12

Оператор остатка/модуля (%).

Variant.Operator OP_POWER = 13

Оператор power (**).

Variant.Operator OP_SHIFT_LEFT = 14

Оператор сдвига влево (<<).

Variant.Operator OP_SHIFT_RIGHT = 15

Оператор сдвига вправо (>>).

Variant.Operator OP_BIT_AND = 16

Побитовый оператор И (&).

Variant.Operator OP_BIT_OR = 17

Побитовый оператор ИЛИ (|).

Variant.Operator OP_BIT_XOR = 18

Побитовый оператор Исключающее ИЛИ (^).

Variant.Operator OP_BIT_NEGATE = 19

Побитовый оператор НЕ (~).

Variant.Operator OP_AND = 20

Оператор "Логическое И" (and или &&).

Variant.Operator OP_OR = 21

Логический оператор ИЛИ (or или ||).

Variant.Operator OP_XOR = 22

Логический оператор Исключающее ИЛИ (не реализован в GDScript).

Variant.Operator OP_NOT = 23

Логический оператор НЕ (not или !).

Variant.Operator OP_IN = 24

Логический оператор В (in).

Variant.Operator OP_MAX = 25

Представляет размер перечисления Variant.Operator.


Описания свойств

AudioServer AudioServer 🔗

Синглтон AudioServer.


CameraServer CameraServer 🔗

Синглтон CameraServer.


ClassDB ClassDB 🔗

Синглтон ClassDB.


DisplayServer DisplayServer 🔗

Синглтон DisplayServer.


EditorInterface EditorInterface 🔗

Синглтон EditorInterface.

Примечание: Доступно только в сборках редактора.


Engine Engine 🔗

Синглтон Engine.


EngineDebugger EngineDebugger 🔗

Синглтон EngineDebugger.


GDExtensionManager GDExtensionManager 🔗

Синглтон GDExtensionManager.


Geometry2D Geometry2D 🔗

Синглтон Geometry2D.


Geometry3D Geometry3D 🔗

Синглтон Geometry3D.


IP IP 🔗

Синглтон IP.


Input Input 🔗

Синглтон Input.


InputMap InputMap 🔗

Синглтон InputMap.


JavaClassWrapper JavaClassWrapper 🔗

Синглтон JavaClassWrapper.

Примечание: Реализовано только на Android.


JavaScriptBridge JavaScriptBridge 🔗

Синглтон JavaScriptBridge.

Примечание: Реализовано только на веб-платформе.


Marshalls Marshalls 🔗

Синглтон Marshalls.


NativeMenu NativeMenu 🔗

Синглтон NativeMenu.

Примечание: Реализовано только на macOS.


NavigationMeshGenerator NavigationMeshGenerator 🔗

Синглтон NavigationMeshGenerator.


NavigationServer2D NavigationServer2D 🔗

Синглтон NavigationServer2D.


NavigationServer2DManager NavigationServer2DManager 🔗

Синглтон NavigationServer2DManager.


NavigationServer3D NavigationServer3D 🔗

Синглтон NavigationServer3D.


NavigationServer3DManager NavigationServer3DManager 🔗

Синглтон NavigationServer3DManager.


OS OS 🔗

Синглтон OS.


Performance Performance 🔗

Синглтон Performance.


PhysicsServer2D PhysicsServer2D 🔗

Синглтон PhysicsServer2D.


PhysicsServer2DManager PhysicsServer2DManager 🔗

Синглтон PhysicsServer2DManager.


PhysicsServer3D PhysicsServer3D 🔗

Синглтон PhysicsServer3D.


PhysicsServer3DManager PhysicsServer3DManager 🔗

Синглтон PhysicsServer3DManager.


ProjectSettings ProjectSettings 🔗

Синглтон ProjectSettings.


RenderingServer RenderingServer 🔗

Синглтон RenderingServer.


ResourceLoader ResourceLoader 🔗

Синглтон ResourceLoader.


ResourceSaver ResourceSaver 🔗

Синглтон ResourceSaver.


ResourceUID ResourceUID 🔗

Синглтон ResourceUID.


TextServerManager TextServerManager 🔗

Синглтон TextServerManager.


ThemeDB ThemeDB 🔗

Синглтон ThemeDB.


Time Time 🔗

Синглтон Time.


TranslationServer TranslationServer 🔗

Синглтон TranslationServer.


WorkerThreadPool WorkerThreadPool 🔗

Синглтон WorkerThreadPool.


XRServer XRServer 🔗

Синглтон XRServer.


Описания метода

Variant abs(x: Variant) 🔗

Возвращает абсолютное значение Variant параметра x (т.е положительное значение). Поддерживаемые типы данных: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

var a = abs(-1)
# a это 1

var b = abs(-1.2)
# b это 1.2

var c = abs(Vector2(-3.5, -4))
# c это (3.5, 4)

var d = abs(Vector2i(-5, -6))
# d это (5, 6)

var e = abs(Vector3(-7, 8.5, -3.8))
# e это (7, 8.5, 3.8)

var f = abs(Vector3i(-7, -8, -9))
# f это (7, 8, 9)

Примечание: Для лучшей безопасности типов, используйте методы absf(), absi(), Vector2.abs(), Vector2i.abs(), Vector3.abs(), Vector3i.abs(), Vector4.abs(), или Vector4i.abs().


float absf(x: float) 🔗

Возвращает абсолютное значение параметра float x (т.е. положительное значение).

# a is 1.2
var a = absf(-1.2)

int absi(x: int) 🔗

Возвращает абсолютное значение параметра int x (т.е. положительное значение).

# a is 1
var a = absi(-1)

float acos(x: float) 🔗

Возвращает арккосинус x в радианах. Используйте для получения угла косинуса x. x будет ограничено между -1.0 и 1.0 (включительно), чтобы предотвратить возврат acos() @GDScript.NAN.

# c равен 0,523599 или 30 градусов, если преобразовано с помощью rad_to_deg(c)
var c = acos(0.866025)

float acosh(x: float) 🔗

Возвращает гиперболический дуговой (также называемый обратным) косинус x, возвращая значение в радианах. Используйте его для получения угла из косинуса угла в гиперболическом пространстве, если x больше или равен 1. Для значений x меньше 1 он вернет 0, чтобы предотвратить возврат acosh() @GDScript.NAN.

var a = acosh(2) # Returns 1.31695789692482
cosh(a) # Returns 2

var b = acosh(-1) # Returns 0

float angle_difference(from: float, to: float) 🔗

Возвращает разницу между двумя углами (в радианах) в диапазоне [-PI, +PI[/code]. Когда [param from] и [param to] противоположны, возвращает [code]-PI, если from меньше, чем to, или PI в противном случае.


float asin(x: float) 🔗

Возвращает арксинус x в радианах. Используйте для получения угла синуса x. x будет ограничено между -1.0 и 1.0 (включительно), чтобы предотвратить возврат asin() @GDScript.NAN.

# s равен 0,523599 или 30 градусам, если преобразовано с помощью rad_to_deg(s)
var s = asin(0.5)

float asinh(x: float) 🔗

Возвращает гиперболический дуговой (также называемый обратным) синус x, возвращая значение в радианах. Используйте его, чтобы получить угол из синуса угла в гиперболическом пространстве.

var a = asinh(0.9) # Returns 0.8088669356527824
sinh(a) # Returns 0.9

float atan(x: float) 🔗

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

Метод не может знать, в какой квадрант должен попасть угол. Смотрите atan2(), если у вас есть и y, и x.

var a = atan(0.5) # a is 0.463648

Если x находится между -PI / 2 и PI / 2 (включительно), atan(tan(x)) равен x.


float atan2(y: float, x: float) 🔗

Возвращает арктангенс y/x в радианах. Используйте для получения угла тангенса y/x. Для вычисления значения метод учитывает знак обоих аргументов, чтобы определить квадрант.

Важное примечание: по соглашению координата Y идет первой.

var a = atan2(0, -1) # a is 3.141593

float atanh(x: float) 🔗

Возвращает тангенс гиперболической дуги (также называемой обратной) к x, возвращая значение в радианах. Используется для получения угла из тангенса угла в гиперболическом пространстве, если x находится в диапазоне от -1 до 1 (не включительно).

В математике обратный гиперболический тангенс определен только для -1 < x < 1 в вещественном множестве, поэтому значения, равные или меньшие -1 для x, возвращают отрицательные @GDScript.INF, а значения, равные или большие 1, возвращают положительные @GDScript.INF(), чтобы atanh() не возвращал @GDScript.NAN.

:: .

var a = atanh(0.9) # Возвращает 1.47221948958322 tanh(a) # Возвращает 0.9

var b = atanh(-2) # Возвращает -inf tanh(b) # Возвращает -1


float bezier_derivative(start: float, control_1: float, control_2: float, end: float, t: float) 🔗

Возвращает производную при заданной t на одномерной кривой Безье, заданной точками control_1, control_2 и end.


float bezier_interpolate(start: float, control_1: float, control_2: float, end: float, t: float) 🔗

Возвращает точку в заданной точке t на одномерной кривой Безье, определяемой заданными точками control_1, control_2 и end.


Variant bytes_to_var(bytes: PackedByteArray) 🔗

Декодирует байтовый массив обратно в значение Variant, без декодирования объектов.

Примечание: Если вам нужна десериализация объектов, смотрите bytes_to_var_with_objects().


Variant bytes_to_var_with_objects(bytes: PackedByteArray) 🔗

Декодирует массив байтов обратно в значение Variant. Декодирование объектов разрешено.

Предупреждение: Десериализованный объект может содержать код, который будет выполнен. Не используйте эту опцию, если сериализованный объект получен из ненадежных источников, чтобы избежать потенциальных угроз безопасности (удаленное выполнение кода).


Variant ceil(x: Variant) 🔗

Округляет x в большую сторону (в сторону положительной бесконечности), возвращая наименьшее целое число, которое не меньше x. Поддерживаемые типы: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

var i = ceil(1.45) # i is 2.0
i = ceil(1.001)    # i is 2.0

См. также floor(), round(), и snapped().

Примечание: Для лучшей безопасности типов используйте ceilf(), ceili(), Vector2.ceil(), Vector3.ceil(), или Vector4.ceil().


float ceilf(x: float) 🔗

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

Типобезопасная версия ceil(), возвращающая float.


int ceili(x: float) 🔗

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

Типобезопасная версия ceil(), возвращающая int.


Variant clamp(value: Variant, min: Variant, max: Variant) 🔗

Фиксирует value, возвращая Variant не меньше min и не больше max. Будут работать любые значения, которые можно сравнить с операторами «меньше» и «больше».

var a = clamp(-10, -1, 5)
# a is -1

var b = clamp(8.1, 0.9, 5.5)
# b is 5.5

Примечание: Для лучшей безопасности типов используйте clampf(), clampi(), Vector2.clamp(), Vector2i.clamp(), Vector3.clamp(), Vector3i.clamp(), Vector4.clamp(), Vector4i.clamp() или Color.clamp() (в настоящее время не поддерживается этим методом).

Примечание: При использовании этого на векторах он не будет выполнять покомпонентное ограничение, а выберет min, если value < min или max, если value > max. Для выполнения покомпонентного ограничения используйте методы, перечисленные выше.


float clampf(value: float, min: float, max: float) 🔗

Ограничивает value, возвращая float не меньше min и не больше max.

:: .

var speed = 42.1 var a = clampf(speed, 1.0, 20.5) # a равен 20.5

speed = -10.0 var b = clampf(speed, -1.0, 1.0) # b равен -1.0


int clampi(value: int, min: int, max: int) 🔗

Зажимает value, возвращая int не меньше min и не больше max.

:: .

var speed = 42 var a = clampi(speed, 1, 20) # a равно 20

speed = -10 var b = clampi(speed, -1, 1) # b равно -1


float cos(angle_rad: float) 🔗

Возвращает косинус угла angle_rad в радианах.

:: .

cos(PI * 2) # Возвращает 1.0 cos(PI) # Возвращает -1.0 cos(deg_to_rad(90)) # Возвращает 0.0


float cosh(x: float) 🔗

Возвращает гиперболический косинус x в радианах.

print(cosh(1)) # Выводит 1.543081

float cubic_interpolate(from: float, to: float, pre: float, post: float, weight: float) 🔗

Кубическая интерполяция между двумя значениями по коэффициенту, определенному в weight, и значениями pre и post.


float cubic_interpolate_angle(from: float, to: float, pre: float, post: float, weight: float) 🔗

Кубическая интерполяция между двумя значениями вращения с кратчайшим путем по коэффициенту, определенному в weight со значениями pre и post. См. также lerp_angle().


float cubic_interpolate_angle_in_time(from: float, to: float, pre: float, post: float, weight: float, to_t: float, pre_t: float, post_t: float) 🔗

Кубическая интерполяция между двумя значениями вращения с кратчайшим путем по коэффициенту, определенному в weight со значениями pre и post. См. также lerp_angle().

Он может выполнять более плавную интерполяцию, чем cubic_interpolate() по значениям времени.


float cubic_interpolate_in_time(from: float, to: float, pre: float, post: float, weight: float, to_t: float, pre_t: float, post_t: float) 🔗

Кубическая интерполяция между двумя значениями с помощью коэффициента, определенного в weight со значениями pre и post.

Он может выполнять более плавную интерполяцию, чем cubic_interpolate() по значениям времени.


float db_to_linear(db: float) 🔗

Преобразует децибелы в линейную энергию (аудио).


float deg_to_rad(deg: float) 🔗

Преобразует угол, выраженный в градусах, в радианы.

r = deg2rad(180) # r = 3.141593

float ease(x: float, curve: float) 🔗

Возвращает "облегченное" значение x на основе функции облегчения, определенной с помощью curve. Эта функция облегчения основана на экспоненте. curve может быть любым числом с плавающей точкой, с определенными значениями, приводящими к следующим поведениям:

- Lower than -1.0 (exclusive): Ease in-out
- -1.0: Linear
- Between -1.0 and 0.0 (exclusive): Ease out-in
- 0.0: Constant
- Between 0.0 to 1.0 (exclusive): Ease out
- 1.0: Linear
- Greater than 1.0 (exclusive): Ease in

ease() шпаргалка по значениям кривых

См. также smoothstep(). Если вам нужно выполнить более сложные переходы, используйте Tween.interpolate_value().


String error_string(error: int) 🔗

Возвращает понятное человеку имя для указанного кода Error.

print(OK)                              # Выводит 0
print(error_string(OK))                # Выводит "OK"
print(error_string(ERR_BUSY))          # Выводит "Busy"
print(error_string(ERR_OUT_OF_MEMORY)) # Выводит "Out of memory"

float exp(x: float) 🔗

Естественная показательная функция. Возводит математическую константу e в степень x и возвращает ее.

e имеет приблизительное значение 2,71828 и может быть получено с помощью exp(1).

Для возведения в степень с другими основаниями используйте method pow().

var a = exp(2) # Примерно 7.39

Variant floor(x: Variant) 🔗

Округляет x в меньшую сторону (в сторону отрицательной бесконечности), возвращая наибольшее целое число, которое не больше x. Поддерживаемые типы: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

var a = floor(2.99) # a is 2.0
a = floor(-2.99)    # a is -3.0

См. также ceil(), round() и snapped().

Примечание: Для лучшей безопасности типов используйте floorf(), floori(), Vector2.floor(), Vector3.floor() или Vector4.floor().


float floorf(x: float) 🔗

Округляет x в сторону уменьшения (к отрицательной бесконечности), возвращая наибольшее целое число, которое не больше, чем x.

Безопасная для типов версия floor(), возвращающая float.


int floori(x: float) 🔗

Округляет x вниз (в сторону отрицательной бесконечности), возвращая наибольшее целое число, которое не больше, чем x.

Типобезопасная версия floor(), возвращающая int.

Примечание: Эта функция не то же самое, что int(x), которая округляет до 0.


float fmod(x: float, y: float) 🔗

Возвращает остаток с плавающей точкой от деления x на y, сохраняя знак x.

var remainder = fmod(7, 5.5) # остаток равен 1.5

Для операции целочисленного остатка используйте оператор %.


float fposmod(x: float, y: float) 🔗

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

print(" (x)  (fmod(x, 1.5))   (fposmod(x, 1.5))")
for i in 7:
    var x = i * 0.5 - 1.5
    print("%4.1f           %4.1f  | %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)])

Prints:

 (x)  (fmod(x, 1.5))   (fposmod(x, 1.5))
-1.5           -0.0  |  0.0
-1.0           -1.0  |  0.5
-0.5           -0.5  |  1.0
 0.0            0.0  |  0.0
 0.5            0.5  |  0.5
 1.0            1.0  |  1.0
 1.5            0.0  |  0.0

int hash(variable: Variant) 🔗

Возвращает целочисленный хэш переданной variable.

print(hash("a")) # Выводит 177670

Object instance_from_id(instance_id: int) 🔗

Возвращает Object, соответствующий параметру instance_id. Все объекты имеют уникальный идентификатор (ID) экземпляра. См. также Object.get_instance_id().

var drink = "water"

func _ready():
    var id = get_instance_id()
    var instance = instance_from_id(id)
    print(instance.drink) # Выводит "water"

float inverse_lerp(from: float, to: float, weight: float) 🔗

Возвращает коэффициент интерполяции или экстраполяции с учетом диапазона, указанного в from и to, и интерполированного значения, указанного в weight. Возвращаемое значение будет находиться между 0.0 и 1.0, если weight находится между from и to (включительно). Если weight находится за пределами этого диапазона, то будет возвращен коэффициент экстраполяции (возвращаемое значение меньше 0.0 или больше 1.0). Используйте clamp() для результата inverse_lerp(), если это нежелательно.

# Коэффициент интерполяции в вызове `lerp()` ниже составляет 0,75.
var middle = lerp(20, 30, 0.75)
# средний показатель сейчас составляет 27,5.

# Теперь мы делаем вид, что забыли исходное соотношение и хотим его восстановить.
var ratio = inverse_lerp(20, 30, 27.5)
# Сейчас коэффициент составляет 0,75.

См. также lerp(), который выполняет обратную операцию, и remap() для преобразования одной непрерывной серии значений в другую.


bool is_equal_approx(a: float, b: float) 🔗

Возвращает true, если a и b приблизительно равны друг другу.

Здесь «приблизительно равны» означает, что a и b находятся в пределах небольшого внутреннего эпсилона друг от друга, который масштабируется с величиной чисел.

Значения бесконечности одного знака считаются равными.


bool is_finite(x: float) 🔗

Проверяет, является ли x конечным значением, т. е. не является ли он @GDScript.NAN, положительной бесконечностью или отрицательной бесконечностью.


bool is_inf(x: float) 🔗

Возвращает true, если x равен либо положительной бесконечности, либо отрицательной бесконечности. См. также is_finite() и is_nan().


bool is_instance_id_valid(id: int) 🔗

Возвращает true, если объект, соответствующий id, является допустимым объектом (например, не был удален из памяти). Все объекты имеют уникальный идентификатор экземпляра.


bool is_instance_valid(instance: Variant) 🔗

Возвращает true, если instance является допустимым объектом (например, не был удален из памяти).


bool is_nan(x: float) 🔗

Возвращает true, если x является NaN ("Not a Number") или является некорректным значением. Этот метод необходим, поскольку @GDScript.NAN не равен самому себе, что означает, что x == NAN нельзя использовать для проверки на NaN.


bool is_same(a: Variant, b: Variant) 🔗

Возвращает true для типов значений, если a и b имеют одно и то же значение. Возвращает true для ссылочных типов, если ссылки a и b совпадают.

# Vector2  это тип значения
var vec2_a = Vector2(0, 0)
var vec2_b = Vector2(0, 0)
var vec2_c = Vector2(1, 1)
is_same(vec2_a, vec2_a)  # true
is_same(vec2_a, vec2_b)  # true
is_same(vec2_a, vec2_c)  # false

# Array это ссылочный тип
var arr_a = []
var arr_b = []
is_same(arr_a, arr_a)  # true
is_same(arr_a, arr_b)  # false

Это Variant типы значений: null, bool, int, float, String, StringName, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i, Rect2, Rect2i, Transform2D, Transform3D, Plane, Quaternion, AABB, Basis, Projection, Color, NodePath, RID, Callable и Signal.

Это Variant ссылочный тип: Object, Dictionary, Array, PackedByteArray, PackedInt32Array, PackedInt64Array, PackedFloat32Array, PackedFloat64Array, PackedStringArray, PackedVector2Array, PackedVector3Array и PackedColorArray.


bool is_zero_approx(x: float) 🔗

Возвращает true, если x равен или приблизительно равен нулю. Сравнивается используя расчет допуска с небольшим внутренним эпсилон.

Эта функция работает быстрее, чем использование is_equal_approx() с одним значением, равным нулю.


Variant lerp(from: Variant, to: Variant, weight: Variant) 🔗

Линейно интерполирует между двумя значениями с коэффициентом, определенным в weight. Для выполнения интерполяции weight должен быть между 0.0 и 1.0 (включительно). Однако значения за пределами этого диапазона допускаются и могут использоваться для выполнения экстраполяции. Если это нежелательно, используйте clampf() для ограничения weight.

Оба from и to должны быть одного типа. Поддерживаемые типы: int, float, Vector2, Vector3, Vector4, Color, Quaternion, Basis, Transform2D, Transform3D.

lerp(0, 4, 0.75) # Returns 3.0

См. также inverse_lerp(), который выполняет обратную операцию. Чтобы выполнить упрощенную интерполяцию с помощью lerp(), объедините его с ease() или smoothstep(). См. также remap(), чтобы сопоставить непрерывный ряд значений с другим.

Примечание: Для лучшей безопасности типов используйте lerpf(), Vector2.lerp(), Vector3.lerp(), Vector4.lerp(), Color.lerp(), Quaternion.slerp(), Basis.slerp(), Transform2D.interpolate_with() или Transform3D.interpolate_with().


float lerp_angle(from: float, to: float, weight: float) 🔗

Линейно интерполирует между двумя углами (в радианах) по значению weight между 0,0 и 1,0.

Аналогично lerp(), но интерполирует правильно, когда углы огибают @GDScript.TAU. Чтобы выполнить упрощенную интерполяцию с lerp_angle(), объедините его с ease() или smoothstep().

extends Sprite
var elapsed = 0.0
func _process(delta):
    var min_angle = deg_to_rad(0.0)
    var max_angle = deg_to_rad(90.0)
    rotation = lerp_angle(min_angle, max_angle, elapsed)
    elapsed += delta

Примечание: Эта функция выполняет линейную интерполяцию по кратчайшему пути между from и to. Однако, когда эти два угла приблизительно PI + k * TAU друг от друга для любого целого числа k, неочевидно, в какую сторону они выполняют линейную интерполяцию из-за ошибок точности с плавающей точкой. Например, lerp_angle(0, PI, weight) выполняет линейную интерполяцию против часовой стрелки, тогда как lerp_angle(0, PI + 5 * TAU, weight) выполняет линейную интерполяцию по часовой стрелке.


float lerpf(from: float, to: float, weight: float) 🔗

Линейно интерполирует между двумя значениями с коэффициентом, определенным в weight. Для выполнения интерполяции weight должен быть между 0.0 и 1.0 (включительно). Однако значения за пределами этого диапазона допускаются и могут использоваться для выполнения экстраполяции. Если это нежелательно, используйте clampf() для результата этой функции.

lerpf(0, 4, 0.75) # Returns 3.0

См. также inverse_lerp(), который выполняет обратную операцию. Чтобы выполнить облегченную интерполяцию с помощью lerp(), объедините его с ease() или smoothstep().


float linear_to_db(lin: float) 🔗

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

Пример: Измените громкость главной шины с помощью узла Slider, который находится в диапазоне от 0.0 до 1.0:

AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), linear_to_db($Slider.value))

float log(x: float) 🔗

Возвращает натуральный логарифм x (основание [i]e[/i], где e приблизительно равно 2,71828). Это количество времени, необходимое для достижения определенного уровня непрерывного роста.

Примечание: Это не то же самое, что функция "log" на большинстве калькуляторов, которая использует логарифм по основанию 10. Чтобы использовать логарифм по основанию 10, используйте log(x) / log(10).

log(10) # Returns 2.302585

Примечание: Логарифм 0 возвращает -inf, тогда как отрицательные значения возвращают -nan.


Variant max(...) vararg 🔗

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

max(1, 7, 3, -6, 5) # Возвращает 7

Примечание: При использовании этой функции для векторов она не вернет максимальный из компонентов, а выберет наибольшее значение, путем сравнения ``x < y ``. Чтобы найти максимальный из компонентов используйте Vector2.max(), Vector2i.max(), Vector3.max(), Vector3i.max(), Vector4.max(), and Vector4i.max().


float maxf(a: float, b: float) 🔗

Возвращает максимальное из двух значений float.

maxf(3.6, 24) # Возвращает 24.0
maxf(-3.99, -4) # Возвращает -3.99

int maxi(a: int, b: int) 🔗

Возвращает максимальное из двух значений int.

maxi(1, 2) # Возвращает 2
maxi(-3, -4) # Возвращает -3

Variant min(...) vararg 🔗

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

min(1, 7, 3, -6, 5) # Возвращает -6

Примечание: При использовании этой функции для векторов она не вернет минимальный из компонентов, а выберет наименьшее значение, путем сравнения ``x < y ``. Чтобы найти минимальный из компонентов используйте Vector2.min(), Vector2i.min(), Vector3.min(), Vector3i.min(), Vector4.min(), and Vector4i.min().


float minf(a: float, b: float) 🔗

Возвращает минимум из двух значений float.

minf(3.6, 24) # Возвращает 3.6
minf(-3.99, -4) # Возвращает -4.0

int mini(a: int, b: int) 🔗

Возвращает минимальное из двух значений int.

mini(1, 2) # Возвращает 1
mini(-3, -4) # Возвращает -4

float move_toward(from: float, to: float, delta: float) 🔗

Перемещает from в направлении to на величину delta. Не выйдет за пределы to.

Используйте отрицательное значение delta, чтобы переместиться.

move_toward(5, 10, 4) # Возвращает 9
move_toward(10, 5, 4) # Возвращает 6
move_toward(5, 10, 9) # Возвращает 10
move_toward(10, 5, -1.5) # Возвращает 11.5

int nearest_po2(value: int) 🔗

Возвращает наименьшую целую степень числа 2, которая больше или равна value.

nearest_po2(3) # Возвращает 4
nearest_po2(4) # Возвращает 4
nearest_po2(5) # Возвращает 8

nearest_po2(0) # Возвращает 0 (может быть неожиданным)
nearest_po2(-1) # Возвращает 0 (может быть неожиданным)

Предупреждение: Из-за своей реализации этот метод возвращает 0 вместо 1 для значений, меньших или равных 0, за исключением value, являющегося наименьшим отрицательным 64-битным целым числом (-9223372036854775808), в этом случае value возвращается без изменений.


float pingpong(value: float, length: float) 🔗

Оборачивает value между 0 и length. Если предел достигнут, следующее возвращаемое функцией значение уменьшается до стороны 0 или увеличивается до стороны length (как треугольная волна). Если length меньше нуля, оно становится положительным.

pingpong(-3.0, 3.0) # Возвращает 3.0
pingpong(-2.0, 3.0) # Возвращает 2.0
pingpong(-1.0, 3.0) # Возвращает 1.0
pingpong(0.0, 3.0) # Возвращает 0.0
pingpong(1.0, 3.0) # Возвращает 1.0
pingpong(2.0, 3.0) # Возвращает 2.0
pingpong(3.0, 3.0) # Возвращает 3.0
pingpong(4.0, 3.0) # Возвращает 2.0
pingpong(5.0, 3.0) # Возвращает 1.0
pingpong(6.0, 3.0) # Возвращает 0.0

int posmod(x: int, y: int) 🔗

Возвращает целочисленный модуль x, деленный на y, который одинаково охватывает положительные и отрицательные числа.

print("#(i)  (i % 3)   (posmod(i, 3))")
for i in range(-3, 4):
    print("%2d       %2d  | %2d" % [i, i % 3, posmod(i, 3)])

Выводит:

(i)  (i % 3)   (posmod(i, 3))
-3        0  |  0
-2       -2  |  1
-1       -1  |  2
 0        0  |  0
 1        1  |  1
 2        2  |  2
 3        0  |  0

float pow(base: float, exp: float) 🔗

Возвращает результат base, возведенный в степень exp.

В GDScript это эквивалент оператора **.

pow(2, 5) # Возвращает 32.0
pow(4, 1.5) # Возвращает 8.0

void print(...) vararg 🔗

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

var a = [1, 2, 3]
print("a", "b", a) # Выводит "ab[1, 2, 3]"

Примечание: Рассмотрите возможность использования push_error() и push_warning() для вывода сообщений об ошибках и предупреждений вместо print() или print_rich(). Это отличает их от сообщений печати, используемых для отладки, а также отображает трассировку стека при выводе ошибки или предупреждения. См. также Engine.print_to_stdout и ProjectSettings.application/run/disable_stdout.


void print_rich(...) vararg 🔗

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

Поддерживаются следующие теги BBCode: b, i, u, s, indent, code, url, center, right, color, bgcolor, fgcolor.

Теги URL поддерживают только URL, заключенные в тег URL, а не URL с другим заголовком.

При печати в стандартный вывод поддерживаемое подмножество BBCode преобразуется в escape-коды ANSI для отображения эмулятором терминала. Поддержка escape-кодов ANSI различается в разных эмуляторах терминала, особенно для курсива и зачеркивания. В стандартном выводе code представлен тусклым текстом, но без изменения шрифта. Неподдерживаемые теги остаются как есть в стандартном выводе.

print_rich("[color=green][b]Hello world![/b][/color]") # Выводит "Hello world!", зеленым цветом жирным шрифтом.

Примечание: Рассмотрите возможность использования push_error() и push_warning() для печати сообщений об ошибках и предупреждений вместо print() или print_rich(). Это отличает их от сообщений печати, используемых в целях отладки, а также отображает трассировку стека при печати ошибки или предупреждения.

Примечание: Вывод, отображаемый в редакторе, поддерживает кликабельные теги [url=address]text[/url]. Значение address тега [url] обрабатывается OS.shell_open() при клике.


void print_verbose(...) vararg 🔗

Если включен подробный режим (OS.is_stdout_verbose(), возвращающий true), преобразует один или несколько аргументов любого типа в строку наилучшим возможным способом и выводит их на консоль.


void printerr(...) vararg 🔗

Выводит один или несколько аргументов в строки наилучшим образом в стандартную строку ошибок.

printerr("выводит на stderr")

void printraw(...) vararg 🔗

Выводит один или несколько аргументов строк наилучшим образом на терминал ОС. В отличие от print(), в конце автоматически не добавляется новая строка.

Примечание: Терминал ОС не то же самое, что и док-станция вывода редактора. Вывод, отправленный на терминал ОС, можно увидеть при запуске Godot из терминала. В Windows для этого требуется использовать исполняемый файл console.exe.

# Выводит на терминал «ABC».
printraw("A")
printraw("B")
printraw("C")

void prints(...) vararg 🔗

Выводит один или несколько аргументов на консоль с пробелом между каждым аргументом.

prints("A", "B", "C") # Выводит "A B C"

void printt(...) vararg 🔗

Выводит на консоль один или несколько аргументов с табуляцией между каждым аргументом.

printt("A", "B", "C") # Выводит "A       B       C"

void push_error(...) vararg 🔗

Отправляет сообщение об ошибке во встроенный отладчик Godot и на терминал ОС.

push_error("test error") # Выводит "test error" в отладчик и терминал как ошибку.

Примечание: Эта функция не приостанавливает выполнение проекта. Чтобы вывести сообщение об ошибке и приостановить выполнение проекта в отладочных сборках, используйте вместо этого assert(false, "test error").


void push_warning(...) vararg 🔗

Отправляет предупреждающее сообщение встроенному отладчику Godot и на терминал ОС.

push_warning("test warning") # Выводит "test warning" на отладчик и терминал как предупреждение.

float rad_to_deg(rad: float) 🔗

Преобразует угол, выраженный в радианах, в градусы.

rad_to_deg(0.523599) # Возвращает 30
rad_to_deg(PI)       # Возвращает 180
rad_to_deg(PI * 2)   # Возвращает 360

PackedInt64Array rand_from_seed(seed: int) 🔗

При наличии seed возвращает PackedInt64Array размером 2, где его первый элемент — это рандомизированное значение int, а второй элемент совпадает с seed. Передача одного и того же seed последовательно возвращает один и тот же массив.

Примечание: «Seed» здесь относится к внутреннему состоянию генератора псевдослучайных чисел, в настоящее время реализованного как 64-битное целое число.

var a = rand_from_seed(4)

print(a[0]) # Выводит 2879024997
print(a[1]) # Выводит 4

float randf() 🔗

Возвращает случайное значение с плавающей точкой между 0.0 и 1.0 (включительно).

randf() # Возвращает, например, 0.375671

float randf_range(from: float, to: float) 🔗

Возвращает случайное значение с плавающей точкой между from и to (включительно).

randf_range(0, 20.5) # Возвращает, например, 7.45315
randf_range(-10, 10) # Возвращает, например, -3.844535

float randfn(mean: float, deviation: float) 🔗

Возвращает нормально распределенное, псевдослучайное значение с плавающей точкой из указанного mean и стандартного offset. Это также известно как распределение Гаусса.

Примечание: Этот метод использует алгоритм преобразование Box-Muller.


int randi() 🔗

Возвращает случайное беззнаковое 32-битное целое число. Используйте остаток для получения случайного значения в интервале [0, N - 1] (где N меньше 2^32).

randi()           #Возвращает случайное целое число от 0 до 2^32 - 1
randi() % 20      # Возвращает случайное целое число от 0 до 19
randi() % 100     # Возвращает случайное целое число от 0 до 99
randi() % 100 + 1 # Возвращает случайное целое число от 1 до 100

int randi_range(from: int, to: int) 🔗

Возвращает случайное 32-битное целое число со знаком между from и to (включительно). Если to меньше from, они меняются местами.

randi_range(0, 1)      # Возвращает 0 или 1
randi_range(-10, 1000) # Возвращает случайное целое число от -10 до 1000

void randomize() 🔗

Рандомизирует начальное число (или внутреннее состояние) генератора случайных чисел. Текущая реализация использует число, основанное на времени устройства.

Примечание: Эта функция вызывается автоматически при запуске проекта. Если вам нужно исправить начальное число, чтобы получить последовательные и воспроизводимые результаты, используйте seed() для инициализации генератора случайных чисел.


float remap(value: float, istart: float, istop: float, ostart: float, ostop: float) 🔗

Отображает value из диапазона [istart, istop] в [ostart, ostop]. См. также lerp() и inverse_lerp(). Если value находится вне [istart, istop], то результирующее значение также будет вне [ostart, ostop]. Если это нежелательно, используйте clamp() для результата этой функции.

remap(75, 0, 100, -1, 1) # Returns 0.5

Для сложных случаев использования, когда требуется несколько диапазонов, рассмотрите возможность использования Curve или Gradient.

Примечание: Если istart == istop, возвращаемое значение не определено (скорее всего, NaN, INF или -INF).


int rid_allocate_id() 🔗

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


RID rid_from_int64(base: int) 🔗

Создает RID из base. Используется в основном из собственных расширений для сборки серверов.


float rotate_toward(from: float, to: float, delta: float) 🔗

Поворачивает from в сторону to на величину delta. Не пройдет мимо to.

Похож на move_toward(), но интерполирует правильно, когда углы оборачиваются вокруг @GDScript.TAU.

Если delta отрицательное значение, эта функция будет поворачиваться от to к противоположному углу и не будет выходить за пределы противоположного угла.


Variant round(x: Variant) 🔗

Округляет x до ближайшего целого числа, при этом половинные значения округляются от 0. Поддерживаемые типы: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

round(2.4) # Возвращает 2
round(2.5) # Возвращает 3
round(2.6) # Возвращает 3

См. также floor(), ceil() и snapped().

Примечание: Для лучшей безопасности типов используйте roundf(), roundi(), Vector2.round(), Vector3.round() или Vector4.round().


float roundf(x: float) 🔗

Округляет x до ближайшего целого числа, при этом средние значения округляются от 0.

Типо-безопасная версия round(), возвращающая float.


int roundi(x: float) 🔗

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

Безопасная версия для типов round(), возвращающая int.


void seed(base: int) 🔗

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

var my_seed = "Godot Rocks".hash()
seed(my_seed)
var a = randf() + randi()
seed(my_seed)
var b = randf() + randi()
# a и b теперь идентичны

Variant sign(x: Variant) 🔗

Возвращает тот же тип Variant, что и x, с -1 для отрицательных значений, 1 для положительных значений и 0 для нулей. Для значений nan возвращает 0.

Поддерживаемые типы: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

sign(-6.0) # Возвращает -1
sign(0.0)  # Возвращает 0
sign(6.0)  # Возвращает 1
sign(NAN)  # Возвращает 0

sign(Vector3(-6.0, 0.0, 6.0)) # Возвращает (-1, 0, 1)

Примечание: Для лучшей безопасности типов используйте signf(), signi(), Vector2.sign(), Vector2i.sign(), Vector3.sign(), Vector3i.sign(), Vector4.sign() или Vector4i.sign().


float signf(x: float) 🔗

Возвращает -1.0, если x отрицательный, 1.0, если x положительный, и 0.0, если x равен нулю. Для nan значений x он возвращает 0.0.

signf(-6.5) # Возвращает -1.0
signf(0.0)  # Возвращает 0.0
signf(6.5)  # Возвращает 1.0
signf(NAN)  # Возвращает 0.0

int signi(x: int) 🔗

Возвращает -1, если x отрицательный, 1, если x положительный, и 0, если x равен нулю.

signi(-6) # Возвращает -1
signi(0)  # Возвращает 0
signi(6)  # Возвращает 1

float sin(angle_rad: float) 🔗

Возвращает синус угла angle_rad в радианах.

sin(0.523599)       # Возвращает 0.5
sin(deg_to_rad(90)) # Возвращает 1.0

float sinh(x: float) 🔗

Возвращает гиперболический синус x.

var a = log(2.0) # Возвращает 0.693147
sinh(a) # Возвращает 0.75

float smoothstep(from: float, to: float, x: float) 🔗

Возвращает гладкую кубическую интерполяцию Эрмита между 0 и 1.

Для положительных диапазонов (когда from <= to) возвращаемое значение равно 0, когда x <= from, и 1, когда x >= to. Если x лежит между from и to, возвращаемое значение следует S-образной кривой, которая плавно переходит от 0 к 1.

Для отрицательных диапазонов (когда from > to) функция зеркально отражается и возвращает 1, когда x <= to и 0, когда x >= from.

Эта S-образная кривая представляет собой кубический интерполятор Эрмита, заданный как f(y) = 3*y^2 - 2*y^3, где y = (x-from) / (to-from).

smoothstep(0, 2, -5.0) # Returns 0.0
smoothstep(0, 2, 0.5) # Returns 0.15625
smoothstep(0, 2, 1.0) # Returns 0.5
smoothstep(0, 2, 2.0) # Returns 1.0

По сравнению с ease() со значением кривой -1.6521, smoothstep() возвращает максимально гладкую кривую без резких изменений в производной. Если вам нужно выполнить более сложные переходы, используйте Tween или AnimationPlayer.

Сравнение возвращаемых значений smoothstep() и ease(x, -1.6521)

Smoothstep() возвращает значения с положительным, нулевым и отрицательным диапазонами


Variant snapped(x: Variant, step: Variant) 🔗

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

Возвращаемое значение имеет тот же тип Variant, что и step. Поддерживаемые типы: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

snapped(100, 32)  # Returns 96
snapped(3.14159, 0.01)  # Returns 3.14

snapped(Vector2(34, 70), Vector2(8, 8))  # Returns (32, 72)

См. также ceil(), floor() и round().

Примечание: Для лучшей безопасности типов используйте snappedf(), snappedi(), Vector2.snapped(), Vector2i.snapped(), Vector3.snapped(), Vector3i.snapped(), Vector4.snapped(), или Vector4i.snapped().


float snappedf(x: float, step: float) 🔗

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

Типобезопасная (type-safe) версия snapped(), возвращающая float.

snappedf(32.0, 2.5)  # Returns 32.5
snappedf(3.14159, 0.01)  # Returns 3.14

int snappedi(x: float, step: int) 🔗

Возвращает кратное step, которое ближе всего к x.

Типобезопасная версия snapped(), возвращающая int.

snappedi(53, 16)  # Returns 48
snappedi(4096, 100)  # Returns 4100

float sqrt(x: float) 🔗

Возвращает квадратный корень из x, где x — неотрицательное число.

sqrt(9)     # Returns 3
sqrt(10.24) # Returns 3.2
sqrt(-1)    # Returns NaN

Примечание: Отрицательные значения x возвращают NaN («Not a Number»). В C#, если вам нужны отрицательные входные данные, используйте System.Numerics.Complex.


int step_decimals(x: float) 🔗

Возвращает позицию первой ненулевой цифры после десятичной точки. Обратите внимание, что максимальное возвращаемое значение равно 10, что является проектным решением в реализации.

var n = step_decimals(5)       # n равен 0
n = step_decimals(1.0005)      # n равен 4
n = step_decimals(0.000000005) # n равен 9

String str(...) vararg 🔗

Преобразует один или несколько аргументов любого типа Variant в String наилучшим возможным способом.

var a = [10, 20, 30]
var b = str(a)
print(len(a)) # Выводит 3 (количество элементов в массиве).
print(len(b)) # Выводит 12 (длина строки "[10, 20, 30]").

Variant str_to_var(string: String) 🔗

Преобразует отформатированную string, возвращенную var_to_str(), в исходный Variant.

var data = '{ "a": 1, "b": 2 }' # data — это String (строка)
var dict = str_to_var(data)     # dict — это Dictionary (словарь)
print(dict["a"])                # Выводит 1

float tan(angle_rad: float) 🔗

Возвращает тангенс угла angle_rad в радианах.

tan(deg_to_rad(45)) # Returns 1

float tanh(x: float) 🔗

Возвращает гиперболический тангенс x.

var a = log(2.0) # Returns 0.693147
tanh(a)          # Returns 0.6

Variant type_convert(variant: Variant, type: int) 🔗

Преобразует заданный variant в заданный type, используя значения Variant.Type. Этот метод щедро обрабатывает типы: он может автоматически преобразовывать типы массивов, преобразовывать числовые значения String в int и преобразовывать большинство объектов в String.

Если преобразование типа невозможно выполнить, этот метод вернет значение по умолчанию для этого типа, например, преобразование Rect2 в Vector2 всегда будет возвращать Vector2.ZERO. Этот метод никогда не будет отображать сообщения об ошибках, пока type является допустимым типом варианта.

Возвращаемое значение — Variant, но данные внутри и их тип будут такими же, как запрошенный тип.

type_convert("Hi!", TYPE_INT) # Возвращает 0
type_convert("123", TYPE_INT) # Возвращает 123
type_convert(123.4, TYPE_INT) # Возвращает 123
type_convert(5, TYPE_VECTOR2) # Returns (0, 0)
type_convert("Hi!", TYPE_NIL) # Возвращает null

String type_string(type: int) 🔗

Возвращает понятное человеку имя указанного type, используя значения Variant.Type.

print(TYPE_INT) # Выводит 2
print(type_string(TYPE_INT)) # Выводит "int"
print(type_string(TYPE_STRING)) # Выводит "String"

Смотрите также typeof().


int typeof(variable: Variant) 🔗

Возвращает внутренний тип заданной variable, используя значения Variant.Type.

var json = JSON.new()
json.parse('["a", "b", "c"]')
var result = json.get_data()
if typeof(result) == TYPE_ARRAY:
    print(result[0]) # Выводит "a"
else:
    print("Неожиданный результат!")

См. также type_string().


PackedByteArray var_to_bytes(variable: Variant) 🔗

Кодирует значение Variant в массив байтов без кодирования объектов. Десериализацию можно выполнить с помощью bytes_to_var().

Примечание: Если вам нужна сериализация объектов, см. var_to_bytes_with_objects().

Примечание: Кодировка Callable не поддерживается и приведет к пустому значению независимо от данных.


PackedByteArray var_to_bytes_with_objects(variable: Variant) 🔗

Кодирует значение Variant в массив байтов. Кодирование объектов разрешено (и может потенциально включать исполняемый код). Десериализацию можно выполнить с помощью bytes_to_var_with_objects().

Примечание: Кодирование Callable не поддерживается и приведет к пустому значению независимо от данных.


String var_to_str(variable: Variant) 🔗

Преобразует Variant variable в форматированную String, которую затем можно проанализировать с помощью str_to_var().

var a = { "a": 1, "b": 2 }
print(var_to_str(a))

Prints:

{
    "a": 1,
    "b": 2
}

Примечание: Преобразование Signal или Callable не поддерживается и приведет к пустому значению для этих типов, независимо от их данных.


Variant weakref(obj: Variant) 🔗

Возвращает экземпляр WeakRef, содержащий слабую ссылку на obj. Возвращает пустой экземпляр WeakRef, если obj равен null. Выводит ошибку и возвращает null, если obj не является ни Object-производным, ни null.

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


Variant wrap(value: Variant, min: Variant, max: Variant) 🔗

Заключает Variant value между min и max. minвключительно, а maxисключительно. Это можно использовать для создания циклов или бесконечных поверхностей.

Поддерживаются типы вариантов int и float. Если какой-либо из аргументов — float, функция возвращает float, в противном случае — int.

var a = wrap(4, 5, 10)
# a это 9 (int)

var a = wrap(7, 5, 10)
# a это 7 (int)

var a = wrap(10.5, 5, 10)
# a это 5.5 (float)

float wrapf(value: float, min: float, max: float) 🔗

Заключает число с плавающей точкой value между min и max. Значение min включительно, а значение max исключительно. Это можно использовать для создания циклов или бесконечных поверхностей.

# Бесконечный цикл между 5.0 и 9.9
value = wrapf(value + 0.1, 5.0, 10.0)
# Бесконечное вращение (в радианах)
angle = wrapf(angle + 0.1, 0.0, TAU)
# Бесконечное вращение (в радианах)
angle = wrapf(angle + 0.1, -PI, PI)

Примечание: Если min равен 0, это эквивалентно fposmod(), поэтому предпочтительнее использовать его. wrapf() более гибок, чем подход с fposmod(), поскольку предоставляет пользователю контроль над минимальным значением.


int wrapi(value: int, min: int, max: int) 🔗

Заключает целое число value между min и max. Значение min включительно, а значение max исключительно. Это можно использовать для создания циклов или бесконечных поверхностей.

# Бесконечный цикл между 5 и 9
frame = wrapi(frame + 1, 5, 10)
# result это -2
var result = wrapi(-6, -5, -1)