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.
Checking the stable version of the documentation...
@GlobalScope
Глобальні константи та функції.
Опис
Список глобальних констант із переліком і вбудованих функцій. Це все, що міститься в глобалах, константах щодо кодів помилок, кодів клавіш, підказок властивостей тощо.
Синглтони також задокументовані тут, оскільки до них можна отримати доступ з будь-якого місця.
Для записів, доступ до яких можна отримати лише зі сценаріїв, написаних у GDScript, див. @GDScript.
Примітка
Існують значні відмінності при використанні цього API із С#. Більше інформації: ref:doc_c_sharp_differences.
Посібники
Властивості
NavigationMeshGenerator |
|
NavigationServer2D |
|
NavigationServer2DManager |
|
NavigationServer3D |
|
NavigationServer3DManager |
|
OS |
|
Performance |
|
PhysicsServer2D |
|
PhysicsServer2DManager |
|
PhysicsServer3D |
|
PhysicsServer3DManager |
|
ProjectSettings |
|
RenderingServer |
|
ResourceLoader |
|
ResourceSaver |
|
ResourceUID |
|
TextServerManager |
|
ThemeDB |
|
Time |
|
TranslationServer |
|
WorkerThreadPool |
|
XRServer |
Методи
Variant |
abs(x: Variant) |
angle_difference(from: float, to: float) |
|
bezier_derivative(start: float, control_1: float, control_2: float, end: float, t: 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) |
Variant |
clamp(value: Variant, min: Variant, max: Variant) |
cubic_interpolate(from: float, to: float, pre: float, post: float, weight: float) |
|
cubic_interpolate_angle(from: float, to: float, pre: float, post: float, weight: 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_interpolate_in_time(from: float, to: float, pre: float, post: float, weight: float, to_t: float, pre_t: float, post_t: float) |
|
db_to_linear(db: float) |
|
deg_to_rad(deg: float) |
|
String |
error_string(error: int) |
Variant |
floor(x: Variant) |
hash(variable: Variant) |
|
Object |
instance_from_id(instance_id: int) |
inverse_lerp(from: float, to: float, weight: float) |
|
is_equal_approx(a: float, b: float) |
|
is_instance_id_valid(id: int) |
|
is_instance_valid(instance: Variant) |
|
is_same(a: Variant, b: Variant) |
|
is_zero_approx(x: float) |
|
Variant |
lerp(from: Variant, to: Variant, weight: Variant) |
lerp_angle(from: float, to: float, weight: float) |
|
linear_to_db(lin: float) |
|
Variant |
max(...) vararg |
Variant |
min(...) vararg |
move_toward(from: float, to: float, delta: float) |
|
nearest_po2(value: int) |
|
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 |
rad_to_deg(rad: float) |
|
PackedInt64Array |
rand_from_seed(seed: int) |
randf() |
|
randf_range(from: float, to: float) |
|
randi() |
|
randi_range(from: int, to: int) |
|
void |
|
remap(value: float, istart: float, istop: float, ostart: float, ostop: float) |
|
RID |
rid_from_int64(base: int) |
rotate_toward(from: float, to: float, delta: float) |
|
Variant |
round(x: Variant) |
void |
|
Variant |
sign(x: Variant) |
smoothstep(from: float, to: float, x: float) |
|
Variant |
snapped(x: Variant, step: Variant) |
step_decimals(x: float) |
|
String |
str(...) vararg |
Variant |
str_to_var(string: String) |
Variant |
type_convert(variant: Variant, type: int) |
String |
type_string(type: 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) |
Переліки
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_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_SEARCH = 4194395
Клавіша пошуку.
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_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_LINK_FAILED = 38
Помилка підключення.
Error ERR_SCRIPT_FAILED = 39
Помилка скрипта.
Error ERR_CYCLIC_LINK = 40
Помилка: Циклічне посилання (цикл імпорту).
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.
PropertyHint PROPERTY_HINT_LINK = 5
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 фізичні.
Підказує, що властивість int є бітовою маскою з використанням опціонально названих шарів 2D навігації.
PropertyHint PROPERTY_HINT_LAYERS_3D_RENDER = 10
Підказує, що властивість int є бітовою маскою, яка використовує необов'язкові іменовані шари 3D-рендерингу.
PropertyHint PROPERTY_HINT_LAYERS_3D_PHYSICS = 11
Підказує, що властивість int є бітовою маскою яка використовує необов'язково іменовані шари 3D-фізики.
Підказує, що властивість 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]
// Array of elemType.
hintString = $"{elemType:D}:";
hintString = $"{elemType:D}/{elemHint:D}:{elemHintString}";
// Two-dimensional array of elemType (array of arrays of elemType).
hintString = $"{Variant.Type.Array:D}:{elemType:D}:";
hintString = $"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
// Three-dimensional array of elemType (array of arrays of arrays of elemType).
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:";
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
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.
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1"; // Array of integers (in range from 1 to 10).
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Two"; // Array of integers (an enum).
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6"; // Array of integers (an enum).
hintString = $"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png"; // Array of strings (file paths).
hintString = $"{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Array of textures.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}:"; // Two-dimensional array of floats.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.String:D}/{PropertyHint.MultilineText:D}:"; // Two-dimensional array of multiline strings.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}/{PropertyHint.Range:D}:-1,1,0.1"; // Two-dimensional array of floats (in range from -1 to 1).
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // 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.
DisplayServer DisplayServer 🔗
Синглтон DisplayServer.
EditorInterface EditorInterface 🔗
Синглтон EditorInterface.
Примітка: доступно лише у збірках редактора.
Синглтон 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.
Синглтон Input.
Синглтон InputMap.
JavaClassWrapper JavaClassWrapper 🔗
Синглтон JavaClassWrapper.
Примітка: Реалізовано лише на Android.
JavaScriptBridge JavaScriptBridge 🔗
Синглтон JavaScriptBridge.
Примітка: Реалізовано лише на веб-платформі.
Синглтон Marshalls.
Синглтон NativeMenu.
Примітка: реалізовано лише в macOS.
Синглтон NavigationMeshGenerator.
Синглтон NavigationServer2D.
Синглтон NavigationServer2DManager.
Синглтон NavigationServer3D.
Синглтон 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().
Повертає абсолютне значення десяткового параметру x (тобто додатне значення).
# a is 1.2
var a = absf(-1.2)
Повертає абсолютне значення цілого параметру x (тобто додатне значення).
# a is 1
var a = absi(-1)
Повертає арккосинус x у радіанах. Використовуйте для отримання кута косинуса x. x буде обмежено між -1.0 і 1.0 (включно), щоб запобігти поверненню acos() @GDScript.NAN.
# c дорівнює 0,523599 або 30 градусів, якщо конвертувати за допомогою rad_to_deg(c)
var c = acos(0,866025)
Повертає косинус гіперболічної дуги (також званий оберненим) до 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 в іншому випадку.
Повертає арксинус x у радіанах. Використовуйте для отримання кута синуса x. x буде обмежено між -1.0 і 1.0 (включно), щоб запобігти поверненню asin() @GDScript.NAN.
# s дорівнює 0,523599 або 30 градусів, якщо конвертувати за допомогою rad_to_deg(s)
var s = asin(0,5)
Повертає гіперболічний (також званий арк) синус x, повертаючи значення в радіанах. Використовуйте його, щоб отримати кут від синуса кута в гіперболічному просторі.
var a = asinh(0.9) # Returns 0.8088669356527824
sinh(a) # Returns 0.9
Повертає арктангенс від 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
Повертає тангенс гіперболічної дуги (також званий зворотним) до 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().
Заокруглює x в більшу сторону (до додатної нескінченності), повертаючи найменше число, яке не менше за x.
Безпечна для типу версія ceil(), що повертає 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
Повертає косинус кута angle_rad в радіанах.
cos(PI * 2) # Returns 1.0
cos(PI) # Returns -1.0
cos(deg_to_rad(90)) # Returns 0.0
Повертає гіперболічний косинус 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)) # Виводить "Недостатньо пам'яті"
Натуральна експоненціальна функція. Вона підносить математичну константу 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().
Заокруглює x в меншу сторону (до від'ємної нескінченності), повертаючи найбільше ціле число, яке не перевищує x.
Безпечна для типу версія floor(), що повертає 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
Повертає цілочисельний хеш переданої variable.
print(hash("a")) # Prints 177670
GD.Print(GD.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"
public partial class MyNode : Node
{
public string Drink { get; set; } = "water";
public override void _Ready()
{
ulong id = GetInstanceId();
var instance = (MyNode)InstanceFromId(Id);
GD.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 знаходяться в межах невеликого внутрішнього епсилона, який масштабується в залежності від величини чисел.
Нескінченність значень одного і того ж знаку вважається рівною.
Повертає чи є x скінченним значенням, тобто не є @GDScript.NAN, додатною нескінченністю або від'ємною нескінченністю.
Повертає true якщо x дорівнює або додатній, або від'ємній нескінченності.
bool is_instance_id_valid(id: int) 🔗
Повертає true якщо Об'єкт, що відповідає id є дійсним об'єктом (наприклад, не був видалений з пам'яті). Всі об'єкти мають унікальний ідентифікатор екземпляру.
bool is_instance_valid(instance: Variant) 🔗
Повертає true якщо instance є дійсним об'єктом (наприклад, не був видалений з пам'яті).
Повертає 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))
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(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(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
Повертає найменший цілий степінь числа 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
Повертає цілий модуль 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]"
Godot.Collections.Array a = [1, 2, 3];
GD.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]") # Виводить "Привіт, світе!" зеленим шрифтом жирним шрифтом.
GD.PrintRich("[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")
GD.PrintErr("prints to stderr");
void printraw(...) vararg 🔗
Друкує один або кілька аргументів рядків у найкращий спосіб на терміналі ОС. На відміну від print(), новий рядок не додається автоматично в кінці.
Примітка: Термінал ОС не те саме, що вихідний док редактора. Результати, надіслані на термінал ОС, можна побачити під час запуску Godot із терміналу. У Windows для цього потрібно використовувати виконуваний файл console.exe.
printraw("A")
printraw("B")
printraw("C")
# Друкує ABC на терміналі
GD.PrintRaw("A");
GD.PrintRaw("B");
GD.PrintRaw("C");
// Друкує ABC на термінал
void prints(...) vararg 🔗
Виводить у консоль один або декілька аргументів з пропуском між ними.
prints("A", "B", "C") # Prints A B C
GD.PrintS("A", "B", "C"); // Prints A B C
void printt(...) vararg 🔗
Виводить у консоль один або декілька аргументів з табуляцією між кожним аргументом.
printt("A", "B", "C") # Prints A B C
GD.PrintT("A", "B", "C"); // Prints A B C
void push_error(...) vararg 🔗
Надсилає повідомлення про помилку до вбудованого зневаджувача Godot та до терміналу ОС.
push_error("test error") # Виводить "test error" до зневаджувача та терміналу як виклик помилки
GD.PushError("test error"); // Виводить "test error" до зневаджувача та терміналу як виклик помилки
Примітка: Ця функція не призупиняє виконання проекту. Щоб вивести повідомлення про помилку і призупинити виконання проекту у відлагоджувальних збірках, використовуйте замість неї assert(false, "test error").
void push_warning(...) vararg 🔗
Надсилає попереджувальне повідомлення до вбудованого зневаджувача Godot та до терміналу ОС.
push_warning("test warning") # Виводить "test warning" в зневаджувачі та терміналі як виклик попередження
GD.PushWarning("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
Повертає випадкове значення з плаваючою комою від 0.0 до 1.0 (включно).
randf() # Returns e.g. 0,375671
GD.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
GD.RandRange(0,0, 20,5); // Returns e.g. 7,45315
GD.RandRange(-10,0, 10,0); // Returns e.g. -3,844535
float randfn(mean: float, deviation: float) 🔗
Повертає псевдовипадкове число з плаваючою комою, що підпорядковується нормальному розподілу, на основі вказаного mean та стандартного deviation. Цей розподіл також відомий як гаусівський розподіл.
Примітка: Цей метод використовує алгоритм перетворення Бокса-Мюллера.
Повертає випадкове 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
GD.Randi(); // Повертає випадкове ціле між 0 і 2^32 - 1
GD.Randi() % 20; // Повертає випадкове ціле між 0 і 19
GD.Randi() % 100; // Повертає випадкове ціле між 0 і 99
GD.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
GD.RandRange(0, 1); // Повертає 0 або 1
GD.RandRange(-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).
Виділяє унікальний ідентифікатор, який може використовуватися реалізацією для створення 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().
Заокруглює x до найближчого цілого числа, у проміжних випадках округлює від 0.
Безпечна для типу версія round(), що повертає float.
Заокруглює x до найближчого цілого числа, у проміжних випадках округлює від 0.
Безпечна для типу версія round(), що повертає int.
Встановлює початкове число для генератора випадкових чисел base. Встановлення початкового числа вручну може забезпечити стабільні, повторювані результати для більшості випадкових функцій.
var my_seed = "Godot Rocks".hash()
seed(my_seed)
var a = randf() + randi()
seed(my_seed)
var b = randf() + randi()
# a і b тепер ідентичні
ulong mySeed = (ulong)GD.Hash("Godot Rocks");
GD.Seed(mySeed);
var a = GD.Randf() + GD.Randi();
GD.Seed(mySeed);
var b = GD.Randf() + GD.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().
Повертає -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
Повертає -1, якщо x негативний, 1, якщо x додатний, і 0, якщо x є нуль.
signi(-6) # Returns -1
signi(0) # Returns 0
signi(6) # Returns 1
Повертає синус кута angle_rad в радіанах.
sin(0.523599) # Returns 0.5
sin(deg_to_rad(90)) # Returns 1.0
Повертає гіперболічний синус 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. Це також можна використовувати для округлення числа з плаваючою комою до довільної кількості десяткових знаків.
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. Це також можна використовувати для округлення числа з плаваючою комою до довільної кількості десяткових знаків.
snappedf(32.0, 2.5) # Returns 32.5
snappedf(3.14159, 0.01) # Returns 3.14
int snappedi(x: float, step: int) 🔗
Повертає кратне step, яке є найближчим до x.
snappedi(53, 16) # Returns 48
snappedi(4096, 100) # Returns 4100
Повертає квадратний корінь з 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.
Повертає позицію першої відмінної від нуля цифри після десяткової коми. Зауважте, що максимальне значення, що повертається, становить 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
string data = "{ \"a\": 1, \"b\": 2 }"; // data є string
var dict = GD.StrToVar(data).AsGodotDictionary(); // dict є Dictionary
GD.Print(dict["a"]); // Виводить 1
Повертає тангенс кута angle_rad у радіанах.
tan(deg_to_rad(45)) # Повертає 1
Повертає гіперболічний тангенс 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))
var a = new Godot.Collections.Dictionary { ["a"] = 1, ["b"] = 2 };
GD.Print(GD.VarToStr(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)