Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

@GlobalScope

Глобальні константи та функції.

Опис

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

Синглтони також задокументовані тут, оскільки до них можна отримати доступ з будь-якого місця.

Для записів, доступ до яких можна отримати лише зі сценаріїв, написаних у GDScript, див. @GDScript.

Примітка

Існують значні відмінності при використанні цього API із С#. Більше інформації: ref:doc_c_sharp_differences.

Посібники

Властивості

AccessibilityServer

AccessibilityServer

AudioServer

AudioServer

CameraServer

CameraServer

ClassDB

ClassDB

DisplayServer

DisplayServer

EditorInterface

EditorInterface

Engine

Engine

EngineDebugger

EngineDebugger

GDExtensionManager

GDExtensionManager

GDScriptLanguageProtocol

GDScriptLanguageProtocol

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

Specifies that Euler angles should be in intrinsic XYZ order. When composing, the rotations happen around the local X, Y, and Z axes, in that order. When decomposing, the order is reversed, first Z, then Y, and X last.

EulerOrder EULER_ORDER_XZY = 1

Specifies that Euler angles should be in intrinsic XZY order. When composing, the rotations happen around the local X, Z, and Y axes, in that order. When decomposing, the order is reversed, first Y, then Z, and X last.

EulerOrder EULER_ORDER_YXZ = 2

Specifies that Euler angles should be in intrinsic YXZ order. When composing, the rotations happen around the local Y, X, and Z axes, in that order. When decomposing, the order is reversed, first Z, then X, and Y last.

EulerOrder EULER_ORDER_YZX = 3

Specifies that Euler angles should be in intrinsic YZX order. When composing, the rotations happen around the local Y, Z, and X axes, in that order. When decomposing, the order is reversed, first X, then Z, and Y last.

EulerOrder EULER_ORDER_ZXY = 4

Specifies that Euler angles should be in intrinsic ZXY order. When composing, the rotations happen around the local Z, X, and Y axes, in that order. When decomposing, the order is reversed, first Y, then X, and Z last.

EulerOrder EULER_ORDER_ZYX = 5

Specifies that Euler angles should be in intrinsic ZYX order. When composing, the rotations happen around the local Z, Y, and X axes, in that order. When decomposing, the order is reversed, first X, then Y, and Z last.


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

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

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

Клавіша Help.

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

Клавіша швидкого запуску С.

Key KEY_LAUNCHD = 4194413

Клавіша швидкого запуску D.

Key KEY_LAUNCHE = 4194414

Клавіша швидкого запуску Е.

Key KEY_LAUNCHF = 4194415

Клавіша швидкого запуску F.

Key KEY_GLOBE = 4194416

Клавіша "Globe" на клавіатурі 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

Цифровий знак або клавіша hash (#).

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

Знак (@) ключ.

Key KEY_A = 65

Клавіша А.

Key KEY_B = 66

Клавіша B.

Key KEY_C = 67

Клавіша C.

Key KEY_D = 68

Клавіша D.

Key KEY_E = 69

Клавіша Е.

Key KEY_F = 70

Клавіша F.

Key KEY_G = 71

Клавіша G.

Key KEY_H = 72

Клавіша H.

Key KEY_I = 73

Клавіша І.

Key KEY_J = 74

Клавіша J.

Key KEY_K = 75

Клавіша К.

Key KEY_L = 76

Клавіша L.

Key KEY_M = 77

Клавіша M.

Key KEY_N = 78

Клавіша N.

Key KEY_O = 79

Клавіша О.

Key KEY_P = 80

Клавіша P.

Key KEY_Q = 81

Клавіша Q.

Key KEY_R = 82

Клавіша R.

Key KEY_S = 83

Клавіша S.

Key KEY_T = 84

Клавіша Т.

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

Клавіша зворотної косої риски (\).

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

Клавіша вертикальної смуги або трубки (|).

Key KEY_BRACERIGHT = 125

Права дужка (}).

Key KEY_ASCIITILDE = 126

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

Key KEY_YEN = 165

Символ ієни (¥).

Key KEY_SECTION = 167

Клавіша знака розділу (§).


flags KeyModifierMask: 🔗

KeyModifierMask KEY_CODE_MASK = 8388607

Bit mask with all bits enabled except for modifier keys. Apply it to remove modifiers.

var keycode = KEY_A | KEY_MASK_SHIFT
keycode = keycode & KEY_CODE_MASK
print(keycode) # KEY_A

KeyModifierMask KEY_MODIFIER_MASK = 2130706432

Bit mask with all modifier bits enabled. Apply it to isolate modifiers.

var keycode = KEY_A | KEY_MASK_SHIFT
keycode = keycode & KEY_MODIFIER_MASK
print(keycode) # KEY_MASK_SHIFT

KeyModifierMask KEY_MASK_CMD_OR_CTRL = 16777216

Ця маска, яка автоматично змінюється на KEY_META на macOS і KEY_CTRL на інших платформах, ніколи не встановлюється в фактичних подіях і повинна використовуватися лише для зіставлення клавіш.

KeyModifierMask KEY_MASK_SHIFT = 33554432

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

KeyModifierMask KEY_MASK_ALT = 67108864

Маска клавіші Alt або Option (на macOS).

KeyModifierMask KEY_MASK_META = 134217728

Маска клавіші Command (on macOS) або Meta/Windows.

KeyModifierMask KEY_MASK_CTRL = 268435456

Маска клавіші Control.

KeyModifierMask KEY_MASK_KPAD = 536870912

Маска клавіш клавіатури.

KeyModifierMask KEY_MASK_GROUP_SWITCH = 1073741824

Маска клавіші Group Switch.


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

Кнопка A ігрового контролера SDL. Відповідає дії нижньої кнопки: Sony Cross, Xbox A, Nintendo B.

JoyButton JOY_BUTTON_B = 1

Кнопка В ігрового контролера SDL. Відповідає дії правої кнопки: Sony Circle, Xbox В, Nintendo А.

JoyButton JOY_BUTTON_X = 2

Кнопка Х ігрового контролера SDL. Відповідає дії лівої кнопки: Sony Square, Xbox Х, Nintendo Y.

JoyButton JOY_BUTTON_Y = 3

Кнопка Y ігрового контролера SDL. Відповідає дії верхньої кнопки: Sony Triangle, Xbox Y, Nintendo X.

JoyButton JOY_BUTTON_BACK = 4

Кнопка назад Ігрового контролера SDL . Відповідає кнопці Sony Select, Xbox Back, 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. Відповідає кнопці Sony L3, Xbox L/LS.

JoyButton JOY_BUTTON_RIGHT_STICK = 8

Права кнопка-джойстик ігрового контролера SDL. Відповідає кнопці Sony R3, Xbox R/RS.

JoyButton JOY_BUTTON_LEFT_SHOULDER = 9

Ігровий контролер SDL з лівою плечовою кнопкою. Відповідає кнопці Sony L1, Xbox LB.

JoyButton JOY_BUTTON_RIGHT_SHOULDER = 10

Ігровий контролер SDL на праву плечову кнопку. Відповідає кнопці Sony R1, Xbox RB.

JoyButton JOY_BUTTON_DPAD_UP = 11

Кнопка вгору D-pad ігрового контролера.

JoyButton JOY_BUTTON_DPAD_DOWN = 12

Кнопка вниз D-pad ігрового контролера.

JoyButton JOY_BUTTON_DPAD_LEFT = 13

Кнопка вліво D-pad ігрового контролера.

JoyButton JOY_BUTTON_DPAD_RIGHT = 14

Кнопка вправо D-pad ігрового контролера.

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_MISC2 = 21

Game controller SDL miscellaneous button. Used by Nintendo Switch 2 Pro Controller and Horipad Steam controllers.

JoyButton JOY_BUTTON_MISC3 = 22

Game controller SDL miscellaneous button.

JoyButton JOY_BUTTON_MISC4 = 23

Game controller SDL miscellaneous button.

JoyButton JOY_BUTTON_MISC5 = 24

Game controller SDL miscellaneous button.

JoyButton JOY_BUTTON_MISC6 = 25

Game controller SDL miscellaneous button.

JoyButton JOY_BUTTON_SDL_MAX = 26

Кількість кнопок ігрового контролера 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

Вісь-х лівого джойстика ігрового контролера.

JoyAxis JOY_AXIS_LEFT_Y = 1

Вісь-у лівого джойстика ігрового контролера.

JoyAxis JOY_AXIS_RIGHT_X = 2

Вісь-х правого джойстика ігрового контролера.

JoyAxis JOY_AXIS_RIGHT_Y = 3

Вісь-у правого джойстика ігрового контролера.

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-повідомлення, яке надсилається для позначення зміни тиску під час натискання ноти, також називається післядотиком.

MIDIMessage MIDI_MESSAGE_CONTROL_CHANGE = 11

MIDI-повідомлення, що надсилається, коли змінюється значення контролера. У MIDI-пристрої контролер — це будь-який вхід, який не відтворює ноти. Це можуть бути повзунки для гучності, балансу та панорамування, а також перемикачі та педалі. Перегляньте загальну специфікацію MIDI для невеликого списку.

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("Невдача!")

# Або ж:
if error:
    printerr("Все ще не вдається!")

Примітка: Багато функцій не повертають код помилки, але виводять повідомлення про помилки на стандартний вивід.

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

Помилка Out of memory (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

Помилка файлу: Кінець файлу (End of file (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

Printer on fire error (this is an easter egg, no built-in methods return this error code).


enum PropertyHint: 🔗

PropertyHint PROPERTY_HINT_NONE = 0

The property has no hint for the editor. However, the hint string is still read, which can be used to specify a suffix for a property that has no range limit (see PROPERTY_HINT_RANGE's description).

PropertyHint PROPERTY_HINT_RANGE = 1

Hints that an int, float, or packed/typed Array property containing int or float types should be within a range specified via the hint string "min,max" or "min,max,step". The hint string can optionally include "or_greater" and/or "or_less" to allow manual input going respectively above the max or below the min values.

Example: "-360,360,1,or_greater,or_less".

Additionally, other keywords can be included: "exp" for exponential range editing, "radians_as_degrees" for editing radian angles in degrees (the range values are also in degrees), "degrees" to hint at an angle, "prefer_slider" to show the slider for integers, "hide_control" to hide the slider or up-down arrows, and "suffix:px/s" to display a suffix indicating the value's unit (e.g. px/s for pixels per second).

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

Hints that a float property should be edited using a curve editor showing an exponential easing function. The hint string can include "attenuation" to flip the curve horizontally and/or "positive_only" to exclude in/out easing and limit values to be greater than or equal to zero. This displays differently to a property that uses PROPERTY_HINT_RANGE with the "exp" keyword, as it's edited with a slider instead of a curve editor.

Hints that a vector property should allow its components to be linked. For example, this allows Vector2.x and Vector2.y to be edited together. This hint is supported on Vector2, Vector2i, Vector3, Vector3i, Vector4, and Vector4i. The hint string can be used to specify a suffix indicating each value's unit with the "suffix:px/s" syntax.

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

Підказує, що значенням властивості є об’єкт, закодований як ідентифікатор об’єкта, тип якого вказано в рядку підказки. Використовується налагоджувачем.

PropertyHint PROPERTY_HINT_TYPE_STRING = 23

If a property is String, hints that the property represents a particular type (class). This allows to select a type from the create dialog. The property will store the selected type as a string.

If a property is Array, hints the editor how to show elements. The hint_string must encode nested types using ":" and "/".

If a property is Dictionary, hints the editor how to show elements. The hint_string is the same as Array, with a ";" separating the key and value.

# Array of elem_type.
hint_string = "%d:" % [elem_type]
hint_string = "%d/%d:%s" % [elem_type, elem_hint, elem_hint_string]
# Two-dimensional array of elem_type (array of arrays of 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]
# Three-dimensional array of elem_type (array of arrays of arrays of 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]

Examples:

hint_string = "%d:" % [TYPE_INT] # Array of integers.
hint_string = "%d/%d:1,10,1" % [TYPE_INT, PROPERTY_HINT_RANGE] # Array of integers (in range from 1 to 10).
hint_string = "%d/%d:Zero,One,Two" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
hint_string = "%d/%d:Zero,One,Three:3,Six:6" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
hint_string = "%d/%d:*.png" % [TYPE_STRING, PROPERTY_HINT_FILE] # Array of strings (file paths).
hint_string = "%d/%d:Texture2D" % [TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Array of textures.

hint_string = "%d:%d:" % [TYPE_ARRAY, TYPE_FLOAT] # Two-dimensional array of floats.
hint_string = "%d:%d/%d:" % [TYPE_ARRAY, TYPE_STRING, PROPERTY_HINT_MULTILINE_TEXT] # Two-dimensional array of multiline strings.
hint_string = "%d:%d/%d:-1,1,0.1" % [TYPE_ARRAY, TYPE_FLOAT, PROPERTY_HINT_RANGE] # Two-dimensional array of floats (in range from -1 to 1).
hint_string = "%d:%d/%d:Texture2D" % [TYPE_ARRAY, TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Two-dimensional array of textures.

Note: The trailing colon is required for properly detecting built-in types.

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!,ColorRect" - кнопка з текстом "Click me!" і піктограму «ColorRect».

**Примітка: ** Callable не можна правильно серіалізувати та зберегти у файлі, тому рекомендується використовувати 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=назва_методу: Метод, який буде викликано, коли два елементи поміняються місцями. Метод повинен приймати 2 параметри int, які будуть індексами елементів, що міняються місцями.

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

PropertyUsageFlags PROPERTY_USAGE_ALWAYS_DUPLICATE = 524288

При дублюванні ресурсу за допомогою Resource.duplicate(), якщо цю позначку встановлено на властивості цього ресурсу, властивість завжди має бути продубльована, незалежно від булевого параметра subresources.

PropertyUsageFlags PROPERTY_USAGE_NEVER_DUPLICATE = 1048576

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

PropertyUsageFlags PROPERTY_USAGE_HIGH_END_GFX = 2097152

Властивість відображається у редакторі лише за умови підтримки сучасних рендерингів (метод рендерингу Compatibility виключено).

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

Властивість доступна лише для читання в EditorInspector.

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

Змінна має тип Projection.

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

Оператор піднесення до степеня (**).

Variant.Operator OP_SHIFT_LEFT = 14

Оператор зсуву вліво (<<).

Variant.Operator OP_SHIFT_RIGHT = 15

Оператор зсуву вправо (>>).

Variant.Operator OP_BIT_AND = 16

Оператор бітового І (AND) (&).

Variant.Operator OP_BIT_OR = 17

Оператор бітового АБО (OR) (|).

Variant.Operator OP_BIT_XOR = 18

Оператор Виключної диз'юкції (XOR) (^).

Variant.Operator OP_BIT_NEGATE = 19

Оператор бітового НЕ (NOT) (~).

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.


Константи

UINT8_MAX = 255 🔗

Maximum value of an 8-bit unsigned integer.

UINT16_MAX = 65535 🔗

Maximum value of a 16-bit unsigned integer.

UINT32_MAX = 4294967295 🔗

Maximum value of a 32-bit unsigned integer.

INT8_MIN = -128 🔗

Minimum value of an 8-bit signed integer.

INT8_MAX = 127 🔗

Maximum value of an 8-bit signed integer.

INT16_MIN = -32768 🔗

Minimum value of a 16-bit signed integer.

INT16_MAX = 32767 🔗

Maximum value of a 16-bit signed integer.

INT32_MIN = -2147483648 🔗

Minimum value of a 32-bit signed integer.

INT32_MAX = 2147483647 🔗

Maximum value of a 32-bit signed integer.

INT64_MIN = -9223372036854775808 🔗

Minimum value of a 64-bit signed integer.

INT64_MAX = 9223372036854775807 🔗

Maximum value of a 64-bit signed integer.


Описи властивостей

AccessibilityServer AccessibilityServer 🔗

The AccessibilityServer singleton.


AudioServer AudioServer 🔗

Синглтон AudioServer.


CameraServer CameraServer 🔗

Синглтон CameraServer.


ClassDB ClassDB 🔗

Синглтон ClassDB.


DisplayServer DisplayServer 🔗

Синглтон DisplayServer.


EditorInterface EditorInterface 🔗

Синглтон EditorInterface.

Примітка: доступно лише у збірках редактора.


Engine Engine 🔗

Синглтон Engine.


EngineDebugger EngineDebugger 🔗

Синглтон EngineDebugger.


GDExtensionManager GDExtensionManager 🔗

Синглтон GDExtensionManager.


GDScriptLanguageProtocol GDScriptLanguageProtocol 🔗

The GDScriptLanguageProtocol singleton.

Note: Only available in editor builds.


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 is 1

var b = abs(-1.2)
# b is 1.2

var c = abs(Vector2(-3.5, -4))
# c is (3.5, 4)

var d = abs(Vector2i(-5, -6))
# d is (5, 6)

var e = abs(Vector3(-7, 8.5, -3.8))
# e is (7, 8.5, 3.8)

var f = abs(Vector3i(-7, -8, -9))
# f is (7, 8, 9)

Примітка: Для кращої безпеки типу використовуйте absf(), absi(), Vector2.abs(), Vector2i.abs(), Vector3.abs(), Vector3i.abs(), Vector4.abs(), або Vector4i.abs().


float absf(x: float) 🔗

Повертає абсолютне значення десяткового параметру x (тобто додатне значення).

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

int absi(x: 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) # Retruns 1.31695789692482
cosh(a) # Returns 2

var b = acosh(-1) # Returns 0

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

Повертає різницю між двома кутами (у радіанах) у діапазоні [-PI, +PI]. Коли from і to протилежні, повертає -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) # Returns 1,47221948958322
tanh(a) # Returns 0,9

var b = atanh(-2) # Returns -inf
tanh(b) # Returns -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

Дивіться також :ref:`floor()<class_@GlobalScope_method_floor>`, :ref:`round()<class_@GlobalScope_method_round>` і :ref:`snapped()<class_@GlobalScope_method_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

 змінна 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 або `` param 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 is20.5

speed = -10.0
var b = clampf(speed, -1.0, 1.0) # b is -1.0

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

Затискує value повертаючи int не менше за min і не більше за max.

var speed = 42
var a = clampi(speed, 1, 20) # a is 20

speed = -10
var b = clampi(speed, -1, 1) # b is -1

float cos(angle_rad: float) 🔗

Повертає косинус кута angle_rad в радіанах.

cos(PI * 2)         # Returns 1.0
cos(PI)             # Returns -1.0
cos(deg_to_rad(90)) # Returns 0.0

float cosh(x: float) 🔗

Повертає гіперболічний косинус x у радіанах

print(cosh(1)) # Prints 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) 🔗

Cubic інтерполює між двома значеннями обертання з найкоротшим шляхом за коефіцієнтом, визначеним у 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) 🔗

Перетворює кут виражений в градусах в радіани.

var r = deg_to_rad(180) # r is 3.141593

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

Повертає «пом’якшене» значення x на основі функції пом'якшення, визначеної за допомогою curve. Ця функція пом’якшення базується на показнику степеня. curve може бути будь-яким числом із рухомою комою з певними значеннями, що призводять до таких дій:

- Нижче за -1.0 (виключно): Ease in-out
- -1.0: Linear
- Між -1.0 та 0.0 (виключно): Ease out-in
- 0.0: Constant
- Між 0.0 та 1.0 (виключно): Ease out
- 1.0: Linear
- Більше від 1.0 (виключно): Ease in

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

Дивіться також smoothstep(). Якщо вам потрібно виконати складніші переходи, використовуйте Tween.interpolate_value().


String error_string(error: int) 🔗

Повертає зрозумілу людині назву для заданого коду Error.

print(OK) # Друкує 0
print(error_string(OK)) # Виводить "ОК"
print(error_string(ERR_BUSY)) # Виводить "Зайнято"
print(error_string(ERR_OUT_OF_MEMORY)) # Виводить "Недостатньо пам'яті"

float exp(x: float) 🔗

Натуральна експоненціальна функція. Вона підносить математичну константу e до степеня x і повертає це.

e має приблизне значення 2.71828 і може бути отримана за допомогою exp(1).

Для піднесення до степеня інших основ степеней використовуйте метод pow().

var a = exp(2) # Approximately 7.39

Variant floor(x: Variant) 🔗

Заокруглює x в меншу сторону (до від'ємної нескінченності), повертаючи найбільше ціле число, яке не перевищує x. Підтримувані типи: int, float, Vector2, Vector3, Vector4.

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) # remainder 1.5

Щоб отримати цілу остачу використовуйте оператор %.


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

Повертає модуль із плаваючою комою x, поділений на y, рівномірно обертаючи додатні та від’ємні значення.

   print(" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))")
   for I in7:
        var x = i * 0,5 - 1,5
        print("%4.1f %4.1f | %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)])

Принти:
 (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")) # Prints 177670

Object instance_from_id(instance_id: int) 🔗

Повертає Object, що відповідає instance_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)
# middle тепер дорівнює 27.5.

# Тепер вдаємо, що забули початкове співвідношення і хочемо його повернути.
var ratio = inverse_lerp(20, 30, 27.5)
# ratio тепер дорівнює 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 дорівнює або додатній, або від'ємній нескінченності.


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 ("не число" або недійсне). Цей метод потрібен, оскільки @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

    # Масив є довідковим типом
   var arr_a = []
   var arr_b = []
   is_same(arr_a, arr_a) # true
   is_same(arr_a, arr_b) # false

Це типи значень :ref:`Variant<class_Variant>`: ``null``, :ref:`bool<class_bool>`, :ref:`int<class_int>`, :ref:`float<class_float>`, :ref:`String<class_String>`, :ref:`StringName<class_StringName>`, :ref:`Vector2<class_Vector2>`, :ref:`Vector2i<class_Vector2i>`, :ref:`Vector3<class_Vector3>`, :ref:`Vector3i<class_Vector3i>`, :ref:`Vector4<class_Vector4>`, :ref:`Vector4i<class_Vector4i>`, :ref:`Rect2<class_Rect2>`, :ref:`Rect2i<class_Rect2i>`, :ref:`Transform2D<class_Transform2D>`, :ref:`Transform3D<class_Transform3D>`, :ref:`Plane<class_Plane>`, :ref:`Quaternion<class_Quaternion>`, :ref:`AABB<class_AABB>`, :ref:`Basis<class_Basis>`, :ref:`Projection<class_Projection>`, :ref:`Color<class_Color>` , :ref:`NodePath<class_NodePath>`, :ref:`RID<class_RID>`, :ref:`Callable<class_Callable>` і :ref:`Signal<class_Signal>`.

Це :ref:`Variant<class_Variant>` типи посилань: :ref:`Object<class_Object>`, :ref:`Dictionary<class_Dictionary>`, :ref:`Array<class_Array>`, :ref:`PackedByteArray<class_PackedByteArray>`, :ref:`PackedInt32Array<class_PackedInt32Array>`, :ref:`PackedInt64Array<class_PackedInt64Array>`, :ref:`PackedFloat32Array<class_PackedFloat32Array>`, :ref:`PackedStringArray<class_PackedStringArray>`, :ref:`PackedVector2Array<class_PackedVector2Array>`, :ref:`PackedVector3Array<class_PackedVector3Array>`, :ref:`PackedVector4Array<class_PackedVector4Array>` і :ref:`PackedColorArray<class_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

Дивіться також :ref:`inverse_lerp()<class_@GlobalScope_method_inverse_lerp>`, який виконує зворотну операцію. Щоб виконати полегшену інтерполяцію за допомогою :ref:`lerp()<class_@GlobalScope_method_lerp>`, поєднайте його з :ref:`ease()<class_@GlobalScope_method_ease>` або :ref:`smoothstep()<class_@GlobalScope_method_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) 🔗

Returns the natural logarithm of x (base e, with e being approximately 2.71828). This is the amount of time needed to reach a certain level of continuous growth.

Note: This is not the same as the "log" function on most calculators, which uses a base 10 logarithm. To use base 10 logarithm, use log(x) / log(10).

log(10) # Returns 2.302585

Note: The logarithm of 0 returns -inf, while negative values return -nan.


Variant max(...) vararg 🔗

Повертає максимальне із заданих числових значень. Ця функція може приймати будь-яку кількість аргументів.

max(1, 7, 3, -6, 5) # Returns 7

[b]Примітка:[/b] Якщо це використовувати для векторів, це [i]не[/i] буде виконувати максимум компонентів, а вибиратиме найбільше значення під час порівняння за допомогою [code]x < y[/code]. Щоб виконати максимум компонентів, використовуйте [method Vector2.max], [method Vector2i.max], [method Vector3.max], [method Vector3i.max], [method Vector4.max] і [method Vector4i.max].

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

Повертає максимальне з двох значень float.

maxf(3.6, 24)   # Returns 24.0
maxf(-3.99, -4) # Returns -3.99

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

Повертає максимальне з двох значень int.

maxi(1, 2)   # Returns 2
maxi(-3, -4) # Returns -3

Variant min(...) vararg 🔗

Повертає мінімальне із заданих числових значень. Ця функція може приймати будь-яку кількість аргументів.

min(1, 7, 3, -6, 5) # Returns -6

Примітка: Якщо це використовувати для векторів, воно не виконуватиме мінімальне значення по компонентах і вибиратиме найменше значення під час порівняння за допомогою x < y. Щоб виконати мінімум компонентів, використовуйте Vector2.min(), Vector2i.min(), Vector3.min(), Vector3i.min(), Vector4.min() і Vector4i.min() .


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

Повертає мінімальне з двох значень float.

minf(3.6, 24)   # Returns 3.6
minf(-3.99, -4) # Returns -4.0

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

Повертає мінімальне з двох значень int.

mini(1, 2)   # Returns 1
mini(-3, -4) # Returns -4

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

Переміщує from до to на величину delta. Не вийде за межі to.

Використовуйте від'ємне значення delta для віддалення.

move_toward(5, 10, 4)    # Returns 9
move_toward(10, 5, 4)    # Returns 6
move_toward(5, 10, 9)    # Returns 10
move_toward(10, 5, -1.5) # Returns 11.5

int nearest_po2(value: int) 🔗

Повертає найменший цілий степінь числа 2, який більший або дорівнює value param.**

nearest_po2(3) # Returns 4
nearest_po2(4) # Returns 4
nearest_po2(5) # Returns 8

nearest_po2(0)  # Returns 0 (це може бути неочікувано)
nearest_po2(-1) # Returns 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) # Returns 3.0
pingpong(-2.0, 3.0) # Returns 2.0
pingpong(-1.0, 3.0) # Returns 1.0
pingpong(0.0, 3.0)  # Returns 0.0
pingpong(1.0, 3.0)  # Returns 1.0
pingpong(2.0, 3.0)  # Returns 2.0
pingpong(3.0, 3.0)  # Returns 3.0
pingpong(4.0, 3.0)  # Returns 2.0
pingpong(5.0, 3.0)  # Returns 1.0
pingpong(6.0, 3.0)  # Returns 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)   # Returns 32.0
pow(4, 1.5) # Returns 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 перетворюється на ANSI-кодові екранування для відображення в емуляторі терміналу. Підтримка ANSI-кодових екранування відрізняється залежно від емулятора терміналу, особливо для курсиву та закреслення. У стандартному виводі code представлено тьмяним текстом, але без зміни шрифту. Непідтримувані теги залишаються як є у стандартному виводі.

print_rich("[color=green][b]Привіт, світе![/b][/color]") # Виводить "Привіт, світе!" зеленим шрифтом жирним шрифтом.

Примітка: Рекомендується використовувати push_error() та push_warning() для виведення повідомлень про помилки та попередження замість print() або print_rich(). Це відрізняє їх від повідомлень друку, що використовуються для налагодження, а також відображає трасування стека, коли виводиться помилка або попередження.

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


void print_verbose(...) vararg 🔗

Якщо увімкнено режим багатослівності (OS.is_stdout_verbose() повертає true), перетворює один або декілька аргументів будь-якого типу в текст у найкращий можливий спосіб і виводить їх на консоль.


void printerr(...) vararg 🔗

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

printerr("prints to stderr")

void printraw(...) vararg 🔗

Друкує один або кілька аргументів рядків у найкращий спосіб на терміналі ОС. На відміну від print(), новий рядок не додається автоматично в кінці.

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

printraw("A")
printraw("B")
printraw("C")
 # Друкує ABC на терміналі

void prints(...) vararg 🔗

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

prints("A", "B", "C") # Prints A B C

void printt(...) vararg 🔗

Виводить у консоль один або декілька аргументів з табуляцією між кожним аргументом.

printt("A", "B", "C") # Prints 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) # Returns 30
rad_to_deg(PI)       # Returns 180
rad_to_deg(PI * 2)   # Returns 360

PackedInt64Array rand_from_seed(seed: int) 🔗

За заданим seed, повертає PackedInt64Array розміру 2, де перший елемент є випадковим значенням int, а другий такий самий, як і seed. Передача того самого seed послідовно повертає один і той же масив.

Примітка: Під "seed" тут мається на увазі внутрішній стан генератора псевдовипадкових чисел, який наразі реалізовано як 64-бітне ціле число.

var a = rand_from_seed(4)

print(a[0]) # Prints 2879024997
print(a[1]) # Prints 4

float randf() 🔗

Повертає випадкове значення з плаваючою комою від 0.0 до 1.0 (включно).

randf() # Returns e.g. 0,375671

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

Повертає випадкове значення з плаваючою комою між from і to (включно).

randf_range(0, 20.5) # Returns e.g. 7,45315
randf_range(-10, 10) # Returns e.g. -3,844535

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

Повертає псевдовипадкове число з плаваючою комою, що підпорядковується нормальному розподілу, на основі вказаного mean та стандартного deviation. Цей розподіл також відомий як гаусівський розподіл.

Примітка: Цей метод використовує алгоритм перетворення Бокса-Мюллера.


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) # Returns 2
round(2.5) # Returns 3
round(2.6) # Returns 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) # Returns -1
sign(0.0)  # Returns 0
sign(6.0)  # Returns 1
sign(NAN)  # Returns 0

sign(Vector3(-6.0, 0.0, 6.0)) # Returns (-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) # Returns -1.0
signf(0.0) # Returns 0.0
signf(6.5) # Returns 1.0
signf(NAN) # Returns 0.0

int signi(x: int) 🔗

Повертає -1, якщо x негативний, 1, якщо x додатний, і 0, якщо x є нуль.

signi(-6) # Returns -1
signi(0) # Returns 0
signi(6) # Returns 1

float sin(angle_rad: float) 🔗

Повертає синус кута angle_rad в радіанах.

sin(0.523599)       # Returns 0.5
sin(deg_to_rad(90)) # Returns 1.0

float sinh(x: float) 🔗

Повертає гіперболічний синус x.

var a = log(2.0) # Returns 0.693147
sinh(a) # Returns 0.75

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

Повертає плавну кубічну інтерполяцію Ерміта між 0 і 1.

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

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

Ця S-подібна крива є кубічним інтерполятором Ерміта, що визначається як f(y) = 3*y^2 - 2*y^3, де y = (x-від) / (до-від).

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)

Дивіться також :ref:`ceil()<class_@GlobalScope_method_ceil>`, :ref:`floor()<class_@GlobalScope_method_floor>` і :ref:`round()<class_@GlobalScope_method_round>`.

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


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

Повертає кратне step, яке є найближчим до x. Це також можна використовувати для округлення числа з плаваючою комою до довільної кількості десяткових знаків.

Типобезпечна версія 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 is 0
n = step_decimals(1.0005)      # n is 4
n = step_decimals(0.000000005) # n is 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)) # Повертає 1

float tanh(x: float) 🔗

Повертає гіперболічний тангенс x.

var a = log(2.0) # Повертає 0.693147
tanh(a)          # Повертає 0.6

Variant type_convert(variant: Variant, type: int) 🔗

Перетворює наданий variant на заданий type, використовуючи значення Variant.Type. Цей метод невимогливий у тому, як він обробляє типи, він може автоматично перетворювати між різнотиповими масивами, перетворювати числові String у int і перетворювати більшість речей у String.

Якщо неможливо виконати перетворення типу, цей метод поверне значення за замовчуванням для цього типу, наприклад, перетворення Rect2 на Vector2 завжди повертатиме Vector2.ZERO. Цей метод ніколи не показуватиме повідомлення про помилки, доки type є дійсним типом Variant.

Поверненим значенням є Variant, але дані всередині та їх тип будуть такими самими, як запитуваний тип.

type_convert("Привіт!", TYPE_INT) # Повертає 0
type_convert("123", TYPE_INT) # Повертає 123
type_convert(123.4, TYPE_INT) # Повертає 123
type_convert(5, TYPE_VECTOR2) # Повертає (0, 0)
type_convert("Привіт!", TYPE_NIL) # Повертає null

String type_string(type: int) 🔗

Повертає зрозумілу людині назву заданого типу параметра, використовуючи значення Variant.Type.

   print(TYPE_INT) # Друкує 2.
   print(type_string(TYPE_INT)) # Виводить "int".
   print(type_string(TYPE_STRING)) # Виводить "Рядок".

Дивіться також :ref:`typeof()<class_@GlobalScope_method_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]) # Prints "a"
else:
    print("Unexpected result!")

Див. також 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))

Принти:

{
    "а": 1,
    "б": 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 is 9 (int)

var a = wrap(7, 5, 10)
# a is 7 (int)

var a = wrap(10.5, 5, 10)
# a is 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)
# результат -2
var result = wrapi(-6, -5, -1)