Attention: Here be dragons

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

@GlobalScope

Costanti e funzioni di ambito globale.

Descrizione

Una lista di costanti enumerate e funzioni di ambito globale. Questo è tutto ciò che risiede nei globali, le costanti riguardano gli errori di codice, codici di tasti, indicazioni di proprietà, ecc...

Anche i singleton sono documentati qui, visto che sono accessibili da ovunque.

Per le voci a cui è possibile accedere da ogni script scritto in GDScript, vedi @GDScript.

Nota

Ci sono differenze sostanziali quando si usa questa API con C#. Vedi Differenze dell'API C# rispetto a GDScript per maggiori informazioni.

Tutorial

Proprietà

AccessibilityServer

AccessibilityServer

AudioServer

AudioServer

CameraServer

CameraServer

ClassDB

ClassDB

DisplayServer

DisplayServer

EditorInterface

EditorInterface

Engine

Engine

EngineDebugger

EngineDebugger

GDExtensionManager

GDExtensionManager

GDScriptLanguageProtocol

GDScriptLanguageProtocol

Geometry2D

Geometry2D

Geometry3D

Geometry3D

IP

IP

Input

Input

InputMap

InputMap

JavaClassWrapper

JavaClassWrapper

JavaScriptBridge

JavaScriptBridge

Marshalls

Marshalls

NativeMenu

NativeMenu

NavigationMeshGenerator

NavigationMeshGenerator

NavigationServer2D

NavigationServer2D

NavigationServer2DManager

NavigationServer2DManager

NavigationServer3D

NavigationServer3D

NavigationServer3DManager

NavigationServer3DManager

OS

OS

Performance

Performance

PhysicsServer2D

PhysicsServer2D

PhysicsServer2DManager

PhysicsServer2DManager

PhysicsServer3D

PhysicsServer3D

PhysicsServer3DManager

PhysicsServer3DManager

ProjectSettings

ProjectSettings

RenderingServer

RenderingServer

ResourceLoader

ResourceLoader

ResourceSaver

ResourceSaver

ResourceUID

ResourceUID

TextServerManager

TextServerManager

ThemeDB

ThemeDB

Time

Time

TranslationServer

TranslationServer

WorkerThreadPool

WorkerThreadPool

XRServer

XRServer

Metodi

Variant

abs(x: Variant)

float

absf(x: float)

int

absi(x: int)

float

acos(x: float)

float

acosh(x: float)

float

angle_difference(from: float, to: float)

float

asin(x: float)

float

asinh(x: float)

float

atan(x: float)

float

atan2(y: float, x: float)

float

atanh(x: float)

float

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

float

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

Variant

bytes_to_var(bytes: PackedByteArray)

Variant

bytes_to_var_with_objects(bytes: PackedByteArray)

Variant

ceil(x: Variant)

float

ceilf(x: float)

int

ceili(x: float)

Variant

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

float

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

int

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

float

cos(angle_rad: float)

float

cosh(x: float)

float

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

float

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

float

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

float

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

float

db_to_linear(db: float)

float

deg_to_rad(deg: float)

float

ease(x: float, curve: float)

String

error_string(error: int)

float

exp(x: float)

Variant

floor(x: Variant)

float

floorf(x: float)

int

floori(x: float)

float

fmod(x: float, y: float)

float

fposmod(x: float, y: float)

int

hash(variable: Variant)

Object

instance_from_id(instance_id: int)

float

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

bool

is_equal_approx(a: float, b: float)

bool

is_finite(x: float)

bool

is_inf(x: float)

bool

is_instance_id_valid(id: int)

bool

is_instance_valid(instance: Variant)

bool

is_nan(x: float)

bool

is_same(a: Variant, b: Variant)

bool

is_zero_approx(x: float)

Variant

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

float

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

float

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

float

linear_to_db(lin: float)

float

log(x: float)

Variant

max(...) vararg

float

maxf(a: float, b: float)

int

maxi(a: int, b: int)

Variant

min(...) vararg

float

minf(a: float, b: float)

int

mini(a: int, b: int)

float

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

int

nearest_po2(value: int)

float

pingpong(value: float, length: float)

int

posmod(x: int, y: int)

float

pow(base: float, exp: float)

void

print(...) vararg

void

print_rich(...) vararg

void

print_verbose(...) vararg

void

printerr(...) vararg

void

printraw(...) vararg

void

prints(...) vararg

void

printt(...) vararg

void

push_error(...) vararg

void

push_warning(...) vararg

float

rad_to_deg(rad: float)

PackedInt64Array

rand_from_seed(seed: int)

float

randf()

float

randf_range(from: float, to: float)

float

randfn(mean: float, deviation: float)

int

randi()

int

randi_range(from: int, to: int)

void

randomize()

float

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

int

rid_allocate_id()

RID

rid_from_int64(base: int)

float

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

Variant

round(x: Variant)

float

roundf(x: float)

int

roundi(x: float)

void

seed(base: int)

Variant

sign(x: Variant)

float

signf(x: float)

int

signi(x: int)

float

sin(angle_rad: float)

float

sinh(x: float)

float

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

Variant

snapped(x: Variant, step: Variant)

float

snappedf(x: float, step: float)

int

snappedi(x: float, step: int)

float

sqrt(x: float)

int

step_decimals(x: float)

String

str(...) vararg

Variant

str_to_var(string: String)

float

tan(angle_rad: float)

float

tanh(x: float)

Variant

type_convert(variant: Variant, type: int)

String

type_string(type: int)

int

typeof(variable: Variant)

PackedByteArray

var_to_bytes(variable: Variant)

PackedByteArray

var_to_bytes_with_objects(variable: Variant)

String

var_to_str(variable: Variant)

Variant

weakref(obj: Variant)

Variant

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

float

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

int

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


Enumerazioni

enum Side: 🔗

Side SIDE_LEFT = 0

Lato sinistro, generalmente usato nelle classi che ereditano Control oppure StyleBox.

Side SIDE_TOP = 1

Lato superiore, generalmente usato nelle classi che ereditano Control oppure StyleBox.

Side SIDE_RIGHT = 2

Lato destro, generalmente usato nelle classi che ereditano Control oppure StyleBox.

Side SIDE_BOTTOM = 3

Lato inferiore, generalmente usato nelle classi che ereditano Control oppure StyleBox.


enum Corner: 🔗

Corner CORNER_TOP_LEFT = 0

Angolo in alto a sinistra.

Corner CORNER_TOP_RIGHT = 1

Angolo in alto a destra.

Corner CORNER_BOTTOM_RIGHT = 2

Angolo in basso a destra.

Corner CORNER_BOTTOM_LEFT = 3

Angolo in basso a sinistra.


enum Orientation: 🔗

Orientation VERTICAL = 1

L'allineamento generale verticale, solitamente utilizzato per Separator, ScrollBar, Slider, ecc.

Orientation HORIZONTAL = 0

L'allineamento orizzontale generale, solitamente utilizzato per Separator, ScrollBar, Slider, ecc.


enum ClockDirection: 🔗

ClockDirection CLOCKWISE = 0

Rotazione in senso orario. Usata in alcuni metodi (per esempio Image.rotate_90()).

ClockDirection COUNTERCLOCKWISE = 1

Rotazione in senso antiorario. Usata in alcuni metodi (per esempio Image.rotate_90()).


enum HorizontalAlignment: 🔗

HorizontalAlignment HORIZONTAL_ALIGNMENT_LEFT = 0

Allineamento orizzontale a sinistra, solitamente usato per classi di testo.

HorizontalAlignment HORIZONTAL_ALIGNMENT_CENTER = 1

Allineamento orizzontale al centro, solitamente usato per classi di testo.

HorizontalAlignment HORIZONTAL_ALIGNMENT_RIGHT = 2

Allineamento orizzontale a destra, solitamente usato per classi di testo.

HorizontalAlignment HORIZONTAL_ALIGNMENT_FILL = 3

Espandi riga per adattarla alla lunghezza, solitamente usato per classi di testo.


enum VerticalAlignment: 🔗

VerticalAlignment VERTICAL_ALIGNMENT_TOP = 0

Allineamento verticale in alto, solitamente usato per classi di testo.

VerticalAlignment VERTICAL_ALIGNMENT_CENTER = 1

Allineamento verticale al centro, solitamente usato per classi di testo.

VerticalAlignment VERTICAL_ALIGNMENT_BOTTOM = 2

Allineamento verticale in basso, solitamente usato per classi di testo.

VerticalAlignment VERTICAL_ALIGNMENT_FILL = 3

Espandi righe per adattarle all'altezza, solitamente usato per classi di testo.


enum InlineAlignment: 🔗

InlineAlignment INLINE_ALIGNMENT_TOP_TO = 0

Allinea la parte superiore dell'oggetto in linea (ad esempio un'immagine o una tabella) alla posizione del testo specificato dalla costante INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_CENTER_TO = 1

Allinea la parte centrale dell'oggetto in linea (ad esempio un'immagine o una tabella) alla posizione del testo specificato dalla costante INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_BASELINE_TO = 3

Allinea la linea di base (definita dall'utente) dell'oggetto in linea (ad esempio un'immagine o una tabella) alla posizione del testo specificato dalla costante INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_BOTTOM_TO = 2

Allinea la parte inferiore dell'oggetto in linea (ad esempio un'immagine o una tabella) alla posizione del testo specificato dalla costante INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_TO_TOP = 0

Allinea la posizione dell'oggetto in linea (ad esempio un'immagine o una tabella) specificata dalla costante INLINE_ALIGNMENT_*_TO alla parte superiore del testo.

InlineAlignment INLINE_ALIGNMENT_TO_CENTER = 4

Allinea la posizione dell'oggetto in linea (ad esempio un'immagine o una tabella) specificata dalla costante INLINE_ALIGNMENT_*_TO alla parte centrale del testo.

InlineAlignment INLINE_ALIGNMENT_TO_BASELINE = 8

Allinea la posizione dell'oggetto in linea (ad esempio un'immagine o una tabella) specificata dalla costante INLINE_ALIGNMENT_*_TO alla linea di base del testo.

InlineAlignment INLINE_ALIGNMENT_TO_BOTTOM = 12

Allinea l'oggetto in linea (ad esempio un'immagine o una tabella) alla parte inferiore del testo.

InlineAlignment INLINE_ALIGNMENT_TOP = 0

Allinea la parte superiore dell'oggetto in linea (ad esempio un'immagine o una tabella) alla parte superiore del testo. Equivalente a INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP.

InlineAlignment INLINE_ALIGNMENT_CENTER = 5

Allinea la parte centrale dell'oggetto in linea (ad esempio un'immagine o una tabella) alla parte centrale del testo. Equivalente a INLINE_ALIGNMENT_CENTER_TO | INLINE_ALIGNMENT_TO_CENTER.

InlineAlignment INLINE_ALIGNMENT_BOTTOM = 14

Allinea la parte inferiore dell'oggetto in linea (ad esempio un'immagine o una tabella) alla parte inferiore del testo. Equivalente a INLINE_ALIGNMENT_BOTTOM_TO | INLINE_ALIGNMENT_TO_BOTTOM.

InlineAlignment INLINE_ALIGNMENT_IMAGE_MASK = 3

Una maschera di bit per le constanti di allineamento INLINE_ALIGNMENT_*_TO.

InlineAlignment INLINE_ALIGNMENT_TEXT_MASK = 12

Una maschera di bit per le constanti di allineamento 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

Valore dell'enumeratore che non corrisponde ad alcun tasto. Utilizzato per inizializzare le proprietà di tipo Key a uno stato generico.

Key KEY_SPECIAL = 4194304

I codici di tasti con questo bit applicato non si possono stampare.

Key KEY_ESCAPE = 4194305

Tasto Esc (Escape).

Key KEY_TAB = 4194306

Tasto Tabulazione (Tab).

Key KEY_BACKTAB = 4194307

Tasto Shift + Tab.

Key KEY_BACKSPACE = 4194308

Tasto Backspace.

Key KEY_ENTER = 4194309

Tasto di Invio (Return o Enter) (sulla tastiera principale).

Key KEY_KP_ENTER = 4194310

Tasto di Invio (Return o Enter) sul tastierino numerico.

Key KEY_INSERT = 4194311

Tasto Inserisci (Ins).

Key KEY_DELETE = 4194312

Tasto Cancella (Delete).

Key KEY_PAUSE = 4194313

Tasto Pausa (Pause).

Key KEY_PRINT = 4194314

Tasto Stampa schermo (Print Screen).

Key KEY_SYSREQ = 4194315

Tasto SysRq/System Request.

Key KEY_CLEAR = 4194316

Tasto Clear/Delete/Del.

Key KEY_HOME = 4194317

Tasto Inizio (Home).

Key KEY_END = 4194318

Tasto Fine (End).

Key KEY_LEFT = 4194319

Tasto freccia sinistra.

Key KEY_UP = 4194320

Tasto freccia in alto.

Key KEY_RIGHT = 4194321

Tasto freccia destra.

Key KEY_DOWN = 4194322

Tasto freccia in basso.

Key KEY_PAGEUP = 4194323

Tasto Pagina su (Page Up).

Key KEY_PAGEDOWN = 4194324

Tasto Pagina giù (Page Down).

Key KEY_SHIFT = 4194325

Tasto Shift/Maiuscolo.

Key KEY_CTRL = 4194326

Tasto Control/CTRL.

Key KEY_META = 4194327

Tasto Meta/Command.

Key KEY_ALT = 4194328

Tasto Alt.

Key KEY_CAPSLOCK = 4194329

Tasto Blocco maiuscole (Caps Lock).

Key KEY_NUMLOCK = 4194330

Tasto Blocco numeri (Num Lock).

Key KEY_SCROLLLOCK = 4194331

Tasto Blocco scorrimento (Scroll Lock).

Key KEY_F1 = 4194332

Tasto F1.

Key KEY_F2 = 4194333

Tasto F2.

Key KEY_F3 = 4194334

Tasto F3.

Key KEY_F4 = 4194335

Tasto F4.

Key KEY_F5 = 4194336

Tasto F5.

Key KEY_F6 = 4194337

Tasto F6.

Key KEY_F7 = 4194338

Tasto F7.

Key KEY_F8 = 4194339

Tasto F8.

Key KEY_F9 = 4194340

Tasto F9.

Key KEY_F10 = 4194341

Tasto F10.

Key KEY_F11 = 4194342

Tasto F11.

Key KEY_F12 = 4194343

Tasto F12.

Key KEY_F13 = 4194344

Tasto F13.

Key KEY_F14 = 4194345

Tasto F14.

Key KEY_F15 = 4194346

Tasto F15.

Key KEY_F16 = 4194347

Tasto F16.

Key KEY_F17 = 4194348

Tasto F17.

Key KEY_F18 = 4194349

Tasto F18.

Key KEY_F19 = 4194350

Tasto F19.

Key KEY_F20 = 4194351

Tasto F20.

Key KEY_F21 = 4194352

Tasto F21.

Key KEY_F22 = 4194353

Tasto F22.

Key KEY_F23 = 4194354

Tasto F23.

Key KEY_F24 = 4194355

Tasto F24.

Key KEY_F25 = 4194356

Tasto F25. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F26 = 4194357

Tasto F26. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F27 = 4194358

Tasto F27. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F28 = 4194359

Tasto F28. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F29 = 4194360

Tasto F29. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F30 = 4194361

Tasto F30. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F31 = 4194362

Tasto F31. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F32 = 4194363

Tasto F32. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F33 = 4194364

Tasto F33. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F34 = 4194365

Tasto F34. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_F35 = 4194366

Tasto F35. Supportato solo su macOS e Linux a causa di una limitazione di Windows.

Key KEY_KP_MULTIPLY = 4194433

Tasto di moltiplicazione (*) sul tastierino numerico.

Key KEY_KP_DIVIDE = 4194434

Tasto di divisione (/) sul tastierino numerico.

Key KEY_KP_SUBTRACT = 4194435

Tasto di sottrazione (-) sul tastierino numerico.

Key KEY_KP_PERIOD = 4194436

Tasto del punto decimale (.) sul tastierino numerico.

Key KEY_KP_ADD = 4194437

Tasto di somma (+) sul tastierino numerico.

Key KEY_KP_0 = 4194438

Numero 0 sul tastierino numerico.

Key KEY_KP_1 = 4194439

Numero 1 sul tastierino numerico.

Key KEY_KP_2 = 4194440

Numero 2 sul tastierino numerico.

Key KEY_KP_3 = 4194441

Numero 3 sul tastierino numerico.

Key KEY_KP_4 = 4194442

Numero 4 sul tastierino numerico.

Key KEY_KP_5 = 4194443

Numero 5 sul tastierino numerico.

Key KEY_KP_6 = 4194444

Numero 6 sul tastierino numerico.

Key KEY_KP_7 = 4194445

Numero 7 sul tastierino numerico.

Key KEY_KP_8 = 4194446

Numero 8 sul tastierino numerico.

Key KEY_KP_9 = 4194447

Numero 9 sul tastierino numerico.

Key KEY_MENU = 4194370

Tasto menu contestuale.

Key KEY_HYPER = 4194371

Tasto hyper (solo su Linux/X11).

Key KEY_HELP = 4194373

Tasto help.

Key KEY_BACK = 4194376

Tasto indietro.

Key KEY_FORWARD = 4194377

Tasto avanti.

Key KEY_STOP = 4194378

Tasto arresta media.

Key KEY_REFRESH = 4194379

Tasto ricarica.

Key KEY_VOLUMEDOWN = 4194380

Tasto di abbassamento del volume.

Key KEY_VOLUMEMUTE = 4194381

Tasto per silenziare il volume.

Key KEY_VOLUMEUP = 4194382

Tasto di alzamento del volume.

Key KEY_MEDIAPLAY = 4194388

Tasto Riproduci media.

Key KEY_MEDIASTOP = 4194389

Tasto arresta media.

Key KEY_MEDIAPREVIOUS = 4194390

Tasto Brano precedente.

Key KEY_MEDIANEXT = 4194391

Tasto Brano successivo.

Key KEY_MEDIARECORD = 4194392

Tasto Registrazione media.

Key KEY_HOMEPAGE = 4194393

Tasto Pagina iniziale.

Key KEY_FAVORITES = 4194394

Tasto Preferiti.

Tasto Ricerca.

Key KEY_STANDBY = 4194396

Tasto Modalità Riposo.

Key KEY_OPENURL = 4194397

Tasto Apri URL / Avvia Browser.

Key KEY_LAUNCHMAIL = 4194398

Tasto Avvia Mail.

Key KEY_LAUNCHMEDIA = 4194399

Tasto Avvia Media.

Key KEY_LAUNCH0 = 4194400

Tasto Avvia Shortcut 0.

Key KEY_LAUNCH1 = 4194401

Tasto Avvia Shortcut 1.

Key KEY_LAUNCH2 = 4194402

Tasto Avvia Shortcut 2.

Key KEY_LAUNCH3 = 4194403

Tasto Avvia Shortcut 3.

Key KEY_LAUNCH4 = 4194404

Tasto Avvia Shortcut 4.

Key KEY_LAUNCH5 = 4194405

Tasto Avvia Shortcut 5.

Key KEY_LAUNCH6 = 4194406

Tasto Avvia Shortcut 6.

Key KEY_LAUNCH7 = 4194407

Tasto Avvia Shortcut 7.

Key KEY_LAUNCH8 = 4194408

Tasto Avvia Shortcut 8.

Key KEY_LAUNCH9 = 4194409

Tasto Avvia Shortcut 9.

Key KEY_LAUNCHA = 4194410

Tasto Avvia Shortcut A.

Key KEY_LAUNCHB = 4194411

Tasto Avvia Shortcut B.

Key KEY_LAUNCHC = 4194412

Tasto Avvia Shortcut C.

Key KEY_LAUNCHD = 4194413

Tasto Avvia Shortcut D.

Key KEY_LAUNCHE = 4194414

Tasto Avvia Shortcut E.

Key KEY_LAUNCHF = 4194415

Tasto Avvia Shortcut F.

Key KEY_GLOBE = 4194416

Tasto "Globe" su una tastiera Mac o iPad.

Key KEY_KEYBOARD = 4194417

Tasto "Tastiera su schermo" su una tastiera iPad.

Key KEY_JIS_EISU = 4194418

Tasto 英数 su una tastiera Mac.

Key KEY_JIS_KANA = 4194419

Tasto かな su una tastiera Mac.

Key KEY_UNKNOWN = 8388607

Tasto sconosciuto.

Key KEY_SPACE = 32

Tasto spazio (la barra spaziatrice).

Key KEY_EXCLAM = 33

Tasto punto esclamativo (!).

Key KEY_QUOTEDBL = 34

Tasto virgolette doppie (").

Key KEY_NUMBERSIGN = 35

Tasto cancelletto o hash (#).

Key KEY_DOLLAR = 36

Tasto simbolo del dollaro ($).

Key KEY_PERCENT = 37

Tasto simbolo di percentuale (%).

Key KEY_AMPERSAND = 38

Tasto "e" commerciale (%).

Key KEY_APOSTROPHE = 39

Tasto apostrofo (').

Key KEY_PARENLEFT = 40

Tasto parentesi tonda aperta (().

Key KEY_PARENRIGHT = 41

Tasto parentesi tonda chiusa (``)``).

Key KEY_ASTERISK = 42

Tasto asterisco (*).

Key KEY_PLUS = 43

Tasto simbolo più (+).

Key KEY_COMMA = 44

Tasto virgola (,).

Key KEY_MINUS = 45

Tasto simbolo meno (-).

Key KEY_PERIOD = 46

Tasto punto (.).

Key KEY_SLASH = 47

Tasto barra (/).

Key KEY_0 = 48

Tasto numero 0.

Key KEY_1 = 49

Tasto numero 1.

Key KEY_2 = 50

Tasto numero 2.

Key KEY_3 = 51

Tasto numero 3.

Key KEY_4 = 52

Tasto numero 4.

Key KEY_5 = 53

Tasto numero 5.

Key KEY_6 = 54

Tasto numero 6.

Key KEY_7 = 55

Tasto numero 7.

Key KEY_8 = 56

Tasto numero 8.

Key KEY_9 = 57

Tasto numero 9.

Key KEY_COLON = 58

Tasto due punti (:).

Key KEY_SEMICOLON = 59

Tasto punto e virgola (;).

Key KEY_LESS = 60

Tasto simbolo di minore (<).

Key KEY_EQUAL = 61

Tasto simbolo di uguale (=).

Key KEY_GREATER = 62

Tasto simbolo di maggiore (>).

Key KEY_QUESTION = 63

Tasto punto interrogativo (?).

Key KEY_AT = 64

Tasto chiocciola o "a" commerciale (@).

Key KEY_A = 65

Tasto A.

Key KEY_B = 66

Tasto B.

Key KEY_C = 67

Tasto C.

Key KEY_D = 68

Tasto D.

Key KEY_E = 69

Tasto E.

Key KEY_F = 70

Tasto F.

Key KEY_G = 71

Tasto G.

Key KEY_H = 72

Tasto H.

Key KEY_I = 73

Tasto I.

Key KEY_J = 74

Tasto J.

Key KEY_K = 75

Tasto K.

Key KEY_L = 76

Tasto L.

Key KEY_M = 77

Tasto M.

Key KEY_N = 78

Tasto N.

Key KEY_O = 79

Tasto O.

Key KEY_P = 80

Tasto P.

Key KEY_Q = 81

Tasto Q.

Key KEY_R = 82

Tasto R.

Key KEY_S = 83

Tasto S.

Key KEY_T = 84

Tasto T.

Key KEY_U = 85

Tasto U.

Key KEY_V = 86

Tasto V.

Key KEY_W = 87

Tasto W.

Key KEY_X = 88

Tasto X.

Key KEY_Y = 89

Tasto Y.

Key KEY_Z = 90

Tasto Z.

Key KEY_BRACKETLEFT = 91

Tasto parentesi quadra aperta ([lb]).

Key KEY_BACKSLASH = 92

Tasto barra rovesciata (\).

Key KEY_BRACKETRIGHT = 93

Tasto parentesi quadra chiusa ([rb]).

Key KEY_ASCIICIRCUM = 94

Tasto accento circonflesso (^).

Key KEY_UNDERSCORE = 95

Tasto trattino basso (_).

Key KEY_QUOTELEFT = 96

Tasto apice inverso (`).

Key KEY_BRACELEFT = 123

Tasto parentesi graffa aperta ({).

Key KEY_BAR = 124

Tasto barra verticale o pipe (|).

Key KEY_BRACERIGHT = 125

Tasto parentesi graffa chiusa (}).

Key KEY_ASCIITILDE = 126

Tasto tilde (~).

Key KEY_YEN = 165

Tasto simbolo del yen (¥).

Key KEY_SECTION = 167

Tasto segno di sezione (§).


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

Rimappata automaticamente a KEY_META su macOS e KEY_CTRL su altre piattaforme, questa maschera non è mai impostata negli eventi ricevuti, e dovrebbe essere utilizzata solo per la mappatura dei tasti.

KeyModifierMask KEY_MASK_SHIFT = 33554432

Maschera del tasto Shift (Maiusc).

KeyModifierMask KEY_MASK_ALT = 67108864

Maschera del tasto Alt o Opzione (su macOS).

KeyModifierMask KEY_MASK_META = 134217728

Maschera del tasto Comando (su macOS) o Meta/Windows.

KeyModifierMask KEY_MASK_CTRL = 268435456

Maschera del tasto Control.

KeyModifierMask KEY_MASK_KPAD = 536870912

Maschera del tasto Keypad.

KeyModifierMask KEY_MASK_GROUP_SWITCH = 1073741824

Maschera del tasto Cambio gruppo.


enum KeyLocation: 🔗

KeyLocation KEY_LOCATION_UNSPECIFIED = 0

Utilizzato per i tasti che appaiono solo una volta, o quando un confronto non ha bisogno di distinguere tra le versioni di sinistra (LEFT) e destra (RIGHT).

Per esempio, quando si utilizza InputEvent.is_match(), un evento che ha KEY_LOCATION_UNSPECIFIED corrisponderà a qualsiasi KeyLocation sull'evento passato.

KeyLocation KEY_LOCATION_LEFT = 1

Un tasto che è a sinistra del suo tasto gemello.

KeyLocation KEY_LOCATION_RIGHT = 2

Un tasto che è a destra del suo tasto gemello.


enum MouseButton: 🔗

MouseButton MOUSE_BUTTON_NONE = 0

Valore dell'enumeratore che non corrisponde ad alcun pulsante del mouse. Utilizzato per inizializzare le proprietà di tipo MouseButton a uno stato generico.

MouseButton MOUSE_BUTTON_LEFT = 1

Pulsante primario del mouse, solitamente assegnato al pulsante sinistro.

MouseButton MOUSE_BUTTON_RIGHT = 2

Pulsante secondario del mouse, solitamente assegnato al pulsante destro.

MouseButton MOUSE_BUTTON_MIDDLE = 3

Pulsante centrale del mouse.

MouseButton MOUSE_BUTTON_WHEEL_UP = 4

Rotellina del mouse che scorre in su.

MouseButton MOUSE_BUTTON_WHEEL_DOWN = 5

Rotellina del mouse che scorre in giù.

MouseButton MOUSE_BUTTON_WHEEL_LEFT = 6

Pulsante sinistro della rotellina del mouse (presente solo su alcuni mouse).

MouseButton MOUSE_BUTTON_WHEEL_RIGHT = 7

Pulsante destro della rotellina del mouse (presente solo su alcuni mouse).

MouseButton MOUSE_BUTTON_XBUTTON1 = 8

Pulsante aggiuntivo 1 del mouse. Avvolte è presente, solitamente ai lati del mouse.

MouseButton MOUSE_BUTTON_XBUTTON2 = 9

Pulsante aggiuntivo 2 del mouse. Avvolte è presente, solitamente ai lati del mouse.


flags MouseButtonMask: 🔗

MouseButtonMask MOUSE_BUTTON_MASK_LEFT = 1

Maschera del pulsante primario del mouse, solitamente il pulsante sinistro.

MouseButtonMask MOUSE_BUTTON_MASK_RIGHT = 2

Maschera del pulsante secondario del mouse, solitamente il pulsante destro.

MouseButtonMask MOUSE_BUTTON_MASK_MIDDLE = 4

Maschera del pulsante centrale del mouse.

MouseButtonMask MOUSE_BUTTON_MASK_MB_XBUTTON1 = 128

Maschera del pulsante aggiuntivo 1 del mouse.

MouseButtonMask MOUSE_BUTTON_MASK_MB_XBUTTON2 = 256

Maschera del pulsante aggiuntivo 2 del mouse.


enum JoyButton: 🔗

JoyButton JOY_BUTTON_INVALID = -1

Un pulsante non valido per un controller di gioco.

JoyButton JOY_BUTTON_A = 0

Pulsante A per un controller di gioco SDL. Corrisponde al pulsante di azione in basso: Croce per Sony, A per Xbox, B per Nintendo.

JoyButton JOY_BUTTON_B = 1

Pulsante B per un controller di gioco SDL. Corrisponde al pulsante di azione a destra: Cerchio per Sony, B per Xbox, A per Nintendo.

JoyButton JOY_BUTTON_X = 2

Pulsante X per un controller di gioco SDL. Corrisponde al pulsante di azione a sinistra: Quadrato per Sony, X per Xbox, Y per Nintendo.

JoyButton JOY_BUTTON_Y = 3

Pulsante Y per un controller di gioco SDL. Corrisponde al pulsante di azione in alto: Triangolo per Sony, Y per Xbox, X per Nintendo.

JoyButton JOY_BUTTON_BACK = 4

Pulsante indietro per un controller di gioco SDL. Corrisponde al pulsante Select per Sony, Indietro per Xbox, - per Nintendo.

JoyButton JOY_BUTTON_GUIDE = 5

Pulsante guida per un controller di gioco SDL. Corrisponde al pulsante PS per Sony, Home per Xbox.

JoyButton JOY_BUTTON_START = 6

Pulsante start per un controller di gioco SDL. Corrisponde al pulsante Opzioni per Sony, Menù per Xbox.

JoyButton JOY_BUTTON_LEFT_STICK = 7

Pulsante della levetta sinistra per un controller di gioco SDL. Corrisponde al pulsante L3 per Sony, L/LS per Xbox.

JoyButton JOY_BUTTON_RIGHT_STICK = 8

Pulsante della levetta destra per un controller di gioco SDL. Corrisponde al pulsante R3 per Sony, R/RS per Xbox.

JoyButton JOY_BUTTON_LEFT_SHOULDER = 9

Pulsante dorsale sinistro per un controller di gioco SDL. Corrisponde al pulsante L1 per Sony, LB per Xbox.

JoyButton JOY_BUTTON_RIGHT_SHOULDER = 10

Pulsante dorsale destro per un controller di gioco SDL. Corrisponde al pulsante R1 per Sony, RB per Xbox.

JoyButton JOY_BUTTON_DPAD_UP = 11

Pulsante alto del D-pad per un controller di gioco.

JoyButton JOY_BUTTON_DPAD_DOWN = 12

Pulsante basso del D-pad per un controller di gioco.

JoyButton JOY_BUTTON_DPAD_LEFT = 13

Pulsante sinistro del D-pad per un controller di gioco.

JoyButton JOY_BUTTON_DPAD_RIGHT = 14

Pulsante destro del D-pad per un controller di gioco.

JoyButton JOY_BUTTON_MISC1 = 15

Pulsante miscellaneo per un controller di gioco SDL. Corrisponde al pulsante del microfono per Sony, il pulsante condividi per Xbox, il pulsante di cattura per Nintendo Switch.

JoyButton JOY_BUTTON_PADDLE1 = 16

Paletta 1 per un controller di gioco SDL.

JoyButton JOY_BUTTON_PADDLE2 = 17

Paletta 2 per un controller di gioco SDL.

JoyButton JOY_BUTTON_PADDLE3 = 18

Paletta 3 per un controller di gioco SDL.

JoyButton JOY_BUTTON_PADDLE4 = 19

Paletta 4 per un controller di gioco SDL.

JoyButton JOY_BUTTON_TOUCHPAD = 20

Pulsante del touchpad per un controller di gioco 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

Il numero di pulsanti in un controller di gioco SDL.

JoyButton JOY_BUTTON_MAX = 128

Il numero massimo di pulsanti supportati dal motore in un controller di gioco. Il limite reale potrebbe essere inferiore su piattaforme specifiche:

  • Android: Fino a 36 pulsanti.

  • Linux: Fino a 80 pulsanti.

  • Windows e macOS: Fino a 128 pulsanti.


enum JoyAxis: 🔗

JoyAxis JOY_AXIS_INVALID = -1

Un asse non valida per un controller di gioco.

JoyAxis JOY_AXIS_LEFT_X = 0

Asse X della levetta sinistra del controller di gioco.

JoyAxis JOY_AXIS_LEFT_Y = 1

Asse Y della levetta sinistra del controller di gioco.

JoyAxis JOY_AXIS_RIGHT_X = 2

Asse X della levetta destra del controller di gioco.

JoyAxis JOY_AXIS_RIGHT_Y = 3

Asse Y della levetta destra del controller di gioco.

JoyAxis JOY_AXIS_TRIGGER_LEFT = 4

Asse del grilletto sinistro del controller di gioco.

JoyAxis JOY_AXIS_TRIGGER_RIGHT = 5

Asse del grilletto destro del controller di gioco.

JoyAxis JOY_AXIS_SDL_MAX = 6

Il numero di assi in un controller di gioco SDL.

JoyAxis JOY_AXIS_MAX = 10

Il numero massimo di assi in un controller di gioco: OpenVR supporta fino a 5 joystick, per un totale di 10 assi.


enum MIDIMessage: 🔗

MIDIMessage MIDI_MESSAGE_NONE = 0

Non corrisponde a nessun messaggio MIDI. Questo è il valore predefinito di InputEventMIDI.message.

MIDIMessage MIDI_MESSAGE_NOTE_OFF = 8

Messaggio MIDI inviato quando viene rilasciata una nota.

Nota: Non tutti i dispositivi MIDI inviano questo messaggio; alcuni possono inviare MIDI_MESSAGE_NOTE_ON con InputEventMIDI.velocity impostato a 0.

MIDIMessage MIDI_MESSAGE_NOTE_ON = 9

Messaggio MIDI inviato quando viene premuta una nota.

MIDIMessage MIDI_MESSAGE_AFTERTOUCH = 10

Messaggio MIDI inviato per indicare un cambiamento di pressione mentre una nota viene premuta, chiamato anche aftertouch.

MIDIMessage MIDI_MESSAGE_CONTROL_CHANGE = 11

Messaggio MIDI inviato quando un valore del controller cambia. In un dispositivo MIDI, un controller è qualsiasi input che non suona note. Questi possono includere slider per il volume, equilibrio e panning, così come interruttori e pedali. Vedi la Specifica generale MIDI per un piccolo elenco.

MIDIMessage MIDI_MESSAGE_PROGRAM_CHANGE = 12

Messaggio MIDI inviato quando il dispositivo MIDI cambia il suo strumento attuale (chiamato anche programma o preset).

MIDIMessage MIDI_MESSAGE_CHANNEL_PRESSURE = 13

Messaggio MIDI inviato per indicare un cambiamento di pressione per l'intero canale. Alcuni dispositivi MIDI possono inviare questo invece di MIDI_MESSAGE_AFTERTOUCH.

MIDIMessage MIDI_MESSAGE_PITCH_BEND = 14

Messaggio MIDI inviato quando il valore del pitch bender cambia, di solito una rotella sul dispositivo MIDI.

MIDIMessage MIDI_MESSAGE_SYSTEM_EXCLUSIVE = 240

Messaggio MIDI di sistema esclusivo (SysEx). Questo tipo di messaggio non è standardizzato ed è altamente dipendente dal dispositivo MIDI che lo invia.

Nota: Ottenere i dati di questo messaggio da InputEventMIDI non è implementato.

MIDIMessage MIDI_MESSAGE_QUARTER_FRAME = 241

Messaggio MIDI inviato ogni quarto di frame per mantenere sincronizzati i dispositivi MIDI collegati. Correlato a MIDI_MESSAGE_TIMING_CLOCK.

Nota: Ottenere i dati di questo messaggio da InputEventMIDI non è implementato.

MIDIMessage MIDI_MESSAGE_SONG_POSITION_POINTER = 242

Messaggio MIDI inviato per passare a una nuova posizione nella sequenza o nella canzone attuale.

Nota: Ottenere i dati di questo messaggio da InputEventMIDI non è implementato.

MIDIMessage MIDI_MESSAGE_SONG_SELECT = 243

Messaggio MIDI inviato per selezionare una sequenza o una canzone da riprodurre.

Nota: Ottenere i dati di questo messaggio da InputEventMIDI non è implementato.

MIDIMessage MIDI_MESSAGE_TUNE_REQUEST = 246

Messaggio MIDI inviato per richiedere una sintonizzazione. Usato su sintetizzatori analogici. La maggior parte dei dispositivi MIDI moderni non ha bisogno di questo messaggio.

MIDIMessage MIDI_MESSAGE_TIMING_CLOCK = 248

Messaggio MIDI inviato 24 volte dopo MIDI_MESSAGE_QUARTER_FRAME, per mantenere sincronizzati i dispositivi MIDI connessi.

MIDIMessage MIDI_MESSAGE_START = 250

Messaggio MIDI inviato per avviare la sequenza o la canzone attuare dall'inizio.

MIDIMessage MIDI_MESSAGE_CONTINUE = 251

Messaggio MIDI inviato per riprendere dal punto in cui la sequenza o canzone attuale è stata messa in pausa.

MIDIMessage MIDI_MESSAGE_STOP = 252

Messaggio MIDI inviato per mettere in pausa la sequenza o la canzone attuale.

MIDIMessage MIDI_MESSAGE_ACTIVE_SENSING = 254

Messaggio MIDI inviato ripetutamente mentre il dispositivo MIDI è inattivo, per dire al ricevitore che la connessione è viva. La maggior parte dei dispositivi MIDI non invia questo messaggio.

MIDIMessage MIDI_MESSAGE_SYSTEM_RESET = 255

Messaggio MIDI inviato per ripristinare un dispositivo MIDI al suo stato predefinito, come se fosse appena acceso. Non dovrebbe essere inviato quando il dispositivo MIDI viene acceso.


enum Error: 🔗

Error OK = 0

I metodi che restituiscono Error restituiscono OK quando non si è verificato alcun errore.

Poiché OK ha valore di 0, e tutte le altre costanti d'errore sono interi positivi, può essere utilizzato anche nelle verifiche booleane.

var errore = metodo_che_restituisce_errore()
if errore != OK:
    printerr("Male!")

# O, alternativamente:
if errore:
    printerr("Ancora male!")

Note: Molte funzioni non restituiscono un codice di errore, ma stampano messaggi d'errore sull'output standard.

Error FAILED = 1

Errore generico.

Error ERR_UNAVAILABLE = 2

Errore di disponibilità mancante.

Error ERR_UNCONFIGURED = 3

Errore di configurazione mancante.

Error ERR_UNAUTHORIZED = 4

Errore di autorizzazioni mancanti.

Error ERR_PARAMETER_RANGE_ERROR = 5

Errore di intervallo del parametro.

Error ERR_OUT_OF_MEMORY = 6

Errore di memoria insufficiente (OOM).

Error ERR_FILE_NOT_FOUND = 7

File: Errore di file non trovato.

Error ERR_FILE_BAD_DRIVE = 8

File: Errore di unità difettosa.

Error ERR_FILE_BAD_PATH = 9

File: Errore di percorso errato.

Error ERR_FILE_NO_PERMISSION = 10

File: Errore di autorizzazioni mancanti.

Error ERR_FILE_ALREADY_IN_USE = 11

File: Errore di file già in uso.

Error ERR_FILE_CANT_OPEN = 12

File: Errore durante l'apertura.

Error ERR_FILE_CANT_WRITE = 13

File: Errore di scrittura.

Error ERR_FILE_CANT_READ = 14

File: Errore di lettura.

Error ERR_FILE_UNRECOGNIZED = 15

File: Errore di riconoscimento.

Error ERR_FILE_CORRUPT = 16

File: Errore di corruzione.

Error ERR_FILE_MISSING_DEPENDENCIES = 17

File: Errore di dipendenze mancanti.

Error ERR_FILE_EOF = 18

File: Errore di fine del file (EOF).

Error ERR_CANT_OPEN = 19

Errore di apertura.

Error ERR_CANT_CREATE = 20

Errore di creazione.

Error ERR_QUERY_FAILED = 21

Errore di richiesta non riuscita.

Error ERR_ALREADY_IN_USE = 22

Errore di soggetto già in uso.

Error ERR_LOCKED = 23

Errore di soggetto bloccato.

Error ERR_TIMEOUT = 24

Errore di timeout.

Error ERR_CANT_CONNECT = 25

Errore di connessione.

Error ERR_CANT_RESOLVE = 26

Errore di risoluzione.

Error ERR_CONNECTION_ERROR = 27

Errore di connessione.

Error ERR_CANT_ACQUIRE_RESOURCE = 28

Errore di acquisizione risorsa.

Error ERR_CANT_FORK = 29

Errore di ramificazione del processo.

Error ERR_INVALID_DATA = 30

Errore di dati non validi.

Error ERR_INVALID_PARAMETER = 31

Errore di parametro non valido.

Error ERR_ALREADY_EXISTS = 32

Errore di preesistenza.

Error ERR_DOES_NOT_EXIST = 33

Errore di non esistenza.

Error ERR_DATABASE_CANT_READ = 34

Database: Errore di lettura.

Error ERR_DATABASE_CANT_WRITE = 35

Database: Errore di scrittura.

Error ERR_COMPILATION_FAILED = 36

Errore di compilazione fallita.

Error ERR_METHOD_NOT_FOUND = 37

Errore di metodo non trovato.

Errore di collegamento fallito.

Error ERR_SCRIPT_FAILED = 39

Errore di script fallito.

Errore di collegamento ciclico (ciclo d'importazione).

Error ERR_INVALID_DECLARATION = 41

Errore di dichiarazione non valida.

Error ERR_DUPLICATE_SYMBOL = 42

Errore di simbolo duplicato.

Error ERR_PARSE_ERROR = 43

Errore di analizzazione.

Error ERR_BUSY = 44

Errore di risorsa occupata.

Error ERR_SKIP = 45

Errore di salto (Skip error).

Error ERR_HELP = 46

Errore di aiuto. Usato internamente quando si passa --version o --help come opzioni di eseguibile.

Error ERR_BUG = 47

Errore di bug, causato da un problema di implementazione nel metodo.

Nota: Se un metodo integrato restituisce questo codice, si prega di segnalare un problema nell 'Issue Tracker su 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

Hints that an int, String, or StringName property is an enumerated value to pick in a list specified via a hint string.

The hint string is a comma separated list of names such as "Hello,Something,Else". Whitespace is not removed from either end of a name. For integer properties, the first name in the list has value 0, the next 1, and so on. Explicit values can also be specified by appending :integer to the name, e.g. "Zero,One,Three:3,Four,Six:6".

PropertyHint PROPERTY_HINT_ENUM_SUGGESTION = 3

Hints that a String or StringName property can be an enumerated value to pick in a list specified via a hint string such as "Hello,Something,Else". See PROPERTY_HINT_ENUM for details.

Unlike PROPERTY_HINT_ENUM, a property with this hint still accepts arbitrary values and can be empty. The list of values serves to suggest possible values.

PropertyHint PROPERTY_HINT_EXP_EASING = 4

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

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

PropertyHint PROPERTY_HINT_FLAGS = 6

Hints that an int property is a bitmask with named bit flags.

The hint string is a comma separated list of names such as "Bit0,Bit1,Bit2,Bit3". Whitespace is not removed from either end of a name. The first name in the list has value 1, the next 2, then 4, 8, 16 and so on. Explicit values can also be specified by appending :integer to the name, e.g. "A:4,B:8,C:16". You can also combine several flags ("A:4,B:8,AB:12,C:16").

Note: A flag value must be at least 1 and at most 2 ** 32 - 1.

Note: Unlike PROPERTY_HINT_ENUM, the previous explicit value is not taken into account. For the hint "A:16,B,C", A is 16, B is 2, C is 4.

PropertyHint PROPERTY_HINT_LAYERS_2D_RENDER = 7

Indica che una proprietà int è una maschera di bit che utilizza gli strati di rendering 2D con nomi facoltativi.

PropertyHint PROPERTY_HINT_LAYERS_2D_PHYSICS = 8

Indica che una proprietà int è una maschera di bit che utilizza gli strati di fisica 2D con nomi facoltativi.

PropertyHint PROPERTY_HINT_LAYERS_2D_NAVIGATION = 9

Indica che una proprietà int è una maschera di bit che utilizza gli strati di navigazione 2D con nomi facoltativi.

PropertyHint PROPERTY_HINT_LAYERS_3D_RENDER = 10

Indica che una proprietà int è una maschera di bit che utilizza gli strati di rendering 3D con nomi facoltativi.

PropertyHint PROPERTY_HINT_LAYERS_3D_PHYSICS = 11

Indica che una proprietà int è una maschera di bit che utilizza gli strati di fisica 3D con nomi facoltativi.

PropertyHint PROPERTY_HINT_LAYERS_3D_NAVIGATION = 12

Indica che una proprietà int è una maschera di bit che utilizza gli strati di navigazione 3D con nomi facoltativi.

PropertyHint PROPERTY_HINT_LAYERS_AVOIDANCE = 37

Indica che una proprietà int è una maschera di bit che utilizza gli strati di evasione con nomi facoltativi.

PropertyHint PROPERTY_HINT_FILE = 13

Indica che una proprietà String è un percorso per un file. Modificarla mostrerà una finestra di dialogo per file per selezionare il percorso. La stringa indicativa può essere una serie di filtri con caratteri jolly come "*.png,*.jpg". Come predefinito, il file sarà memorizzato come UID, se disponibile. È possibile utilizzare i metodi di ResourceUID per riconvertirlo in percorso. Per memorizzare un percorso non elaborato, usa PROPERTY_HINT_FILE_PATH.

PropertyHint PROPERTY_HINT_DIR = 14

Indica che una proprietà String è un percorso per una cartella. Modificarla mostrerà una finestra di dialogo per file, per selezionare il percorso.

PropertyHint PROPERTY_HINT_GLOBAL_FILE = 15

Indica che una proprietà String è un percorso assoluto per un file. Modificarla mostrerà una finestra di dialogo per file per selezionare il percorso. La stringa indicativa può essere una serie di filtri con caratteri jolly come "*.png,*.jpg".

PropertyHint PROPERTY_HINT_GLOBAL_DIR = 16

Indica che una proprietà String è un percorso per una cartella. Modificarla mostrerà una finestra di dialogo per file, per selezionare il percorso.

PropertyHint PROPERTY_HINT_RESOURCE_TYPE = 17

Indica che una proprietà è un'istanza di un tipo derivato da Resource, facoltativamente specificato tramite la stringa indicativa (ad esempio "Texture2D"). Modificarla mostrerà un menù contestuale con i tipi di risorse valide da istanziare.

PropertyHint PROPERTY_HINT_MULTILINE_TEXT = 18

Indica che una proprietà String è costituita da testo con interruzioni di riga. Modificandola, verrà visualizzato un campo di immissione testo in cui è possibile digitare le interruzioni di riga.

La stringa indicativa può essere impostata su “monospace” per forzare il campo di immissione a utilizzare un font a spaziatura fissa.

Se la stringa indicativa “no_wrap” è impostata, il campo di immissione non effettuerà il ritorno a capo ai margini, ma renderà invece l'area scorrevole.

PropertyHint PROPERTY_HINT_EXPRESSION = 19

Indica che una proprietà String è un Expression.

PropertyHint PROPERTY_HINT_PLACEHOLDER_TEXT = 20

Indica che una proprietà String dovrebbe mostrare un testo segnaposto sul suo campo di input, se vuoto. La stringa indicativa è il testo segnaposto da usare.

PropertyHint PROPERTY_HINT_COLOR_NO_ALPHA = 21

Indica che una proprietà Color dovrebbe essere modificabile senza influenzare la sua trasparenza (Color.a non è modificabile).

PropertyHint PROPERTY_HINT_OBJECT_ID = 22

Indica che il valore della proprietà è un oggetto codificato come ID di oggetto, con il suo tipo specificato nella stringa indicativa. Usato dal debugger.

PropertyHint PROPERTY_HINT_TYPE_STRING = 23

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

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

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

# Array of elem_type.
hint_string = "%d:" % [elem_type]
hint_string = "%d/%d:%s" % [elem_type, elem_hint, elem_hint_string]
# Two-dimensional array of elem_type (array of arrays of elem_type).
hint_string = "%d:%d:" % [TYPE_ARRAY, elem_type]
hint_string = "%d:%d/%d:%s" % [TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]
# Three-dimensional array of elem_type (array of arrays of arrays of elem_type).
hint_string = "%d:%d:%d:" % [TYPE_ARRAY, TYPE_ARRAY, elem_type]
hint_string = "%d:%d:%d/%d:%s" % [TYPE_ARRAY, TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]

Examples:

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

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

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

PropertyHint PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE = 24

Deprecato: This hint is not used by the engine.

PropertyHint PROPERTY_HINT_OBJECT_TOO_BIG = 25

Indica che un oggetto è troppo grande per essere inviato tramite il debugger.

PropertyHint PROPERTY_HINT_NODE_PATH_VALID_TYPES = 26

Indica che la stringa indicativa specifica i tipi di nodo validi per le proprietà di tipo NodePath.

PropertyHint PROPERTY_HINT_SAVE_FILE = 27

Indica che una proprietà String è un percorso per un file. Modificarlo mostrerà una finestra di dialogo file per selezionare il percorso in cui il file verrà salvato. La finestra di dialogo ha accesso alla cartella del progetto. La stringa indicativa può essere un insieme di filtri con caratteri jolly come "*.png,*.jpg". Vedi anche FileDialog.filters.

PropertyHint PROPERTY_HINT_GLOBAL_SAVE_FILE = 28

Indica che una proprietà String è un percorso per un file. Modificarlo mostrerà una finestra di dialogo file per selezionare il percorso in cui il file verrà salvato. La finestra di dialogo ha accesso all'intero filesystem. La stringa indicativa può essere un insieme di filtri con caratteri jolly come "*.png,*.jpg". Vedi anche FileDialog.filters.

PropertyHint PROPERTY_HINT_INT_IS_OBJECTID = 29

Deprecato: This hint is not used by the engine.

PropertyHint PROPERTY_HINT_INT_IS_POINTER = 30

Indica che una proprietà int è un puntatore. Usato da GDExtension.

PropertyHint PROPERTY_HINT_ARRAY_TYPE = 31

Indica che una proprietà è un Array con il tipo memorizzato specificato nella stringa indicativa. La stringa indicativa contiene il tipo dell'array (ad esempio "String").

Utilizza il formato di stringa indicativa da PROPERTY_HINT_TYPE_STRING per più controllo sul tipo memorizzato.

PropertyHint PROPERTY_HINT_DICTIONARY_TYPE = 38

Indica che una proprietà è un Dictionary con i tipi memorizzati specificati nella stringa indicativa. La stringa indicativa contiene i tipi delle chiavi e dei valori separati da un punto e virgola (ad esempio "int;String").

Utilizza il formato di stringa indicativa da PROPERTY_HINT_TYPE_STRING per più controllo sul tipo memorizzato.

PropertyHint PROPERTY_HINT_LOCALE_ID = 32

Indica che una proprietà di tipo stringa è un codice di localizzazione. Modificarlo mostrerà una finestra di dialogo di localizzazione per scegliere la lingua e il paese.

PropertyHint PROPERTY_HINT_LOCALIZABLE_STRING = 33

Indica che una proprietà di dizionario è una mappa di traduzione di stringhe. Le chiavi del dizionario sono i codici di localizzazione e, i valori sono delle stringhe tradotte.

PropertyHint PROPERTY_HINT_NODE_TYPE = 34

Indica che una proprietà è un'istanza di un tipo derivato da Node, facoltativamente specificato tramite la stringa indicativa (ad esempio "Node2D"). Modificarla mostrerà una finestra di dialogo per selezionare un nodo dalla scena.

PropertyHint PROPERTY_HINT_HIDE_QUATERNION_EDIT = 35

Indica che una proprietà di tipo quaternione dovrebbe disabilitare l'editor temporaneo di euler.

PropertyHint PROPERTY_HINT_PASSWORD = 36

Indica che una proprietà di tipo stringa è una password, e ogni carattere è sostituito con il carattere segreto.

PropertyHint PROPERTY_HINT_TOOL_BUTTON = 39

Indica che una proprietà Callable dovrebbe essere visualizzata come un pulsante cliccabile. Quando il pulsante viene premuto, il chiamabile viene richiamato. La stringa indicativa specifica il testo del pulsante e, facoltativamente, un'icona dal tipo del tema "EditorIcons".

"Cliccami!" - Un pulsante con il testo "Cliccami!" e l'icona "Callable" predefinita.
"Cliccami!,ColorRect" - Un pulsante con il testo "Cliccami!" e l'icona "ColorRect".

Nota: Un Callable non può essere correttamente serializzato e memorizzato in un file, quindi si consiglia di utilizzare PROPERTY_USAGE_EDITOR invece di PROPERTY_USAGE_DEFAULT.

PropertyHint PROPERTY_HINT_ONESHOT = 40

Indica che una proprietà cambierà automaticamente dopo che viene impostata, ad esempio AudioStreamPlayer.playing o GPUParticles3D.emitting.

PropertyHint PROPERTY_HINT_GROUP_ENABLE = 42

Indica che una proprietà booleana abiliterà la funzionalità associata al gruppo al quale appartiene. La proprietà sarà presentata come un casella di spunta sul titolo del gruppo. Funziona solamente all'interno di un gruppo o sottogruppo.

Normalmente, disabilitare la proprietà nasconde tutte le proprietà nel gruppo. Usa la stringa indicativa facoltativa "checkbox_only" per disabilitare questo comportamento.

PropertyHint PROPERTY_HINT_INPUT_NAME = 43

Indica che una proprietà di tipo String o StringName è il nome di un'azione di input. Ciò consente di selezionare qualsiasi nome di azione dalla Mappa degli input nelle Impostazioni del progetto. La stringa indicativa può contenere due opzioni separate da virgole:

  • Se contiene "show_builtin", le azioni di input integrate sono incluse nella selezione.

  • Se contiene "loose_mode", la modalità loose è abilitata. Ciò consente di inserire qualsiasi nome di azione anche se non è presente nella mappa degli input.

PropertyHint PROPERTY_HINT_FILE_PATH = 44

Come PROPERTY_HINT_FILE, con la differenza che il file sarà memorizzato come percorso non elaborato. Ciò significa che potrebbe non essere più valido quando il file viene spostato. Si consiglia di utilizzare PROPERTY_HINT_FILE se possibile.

PropertyHint PROPERTY_HINT_MAX = 45

Rappresenta la dimensione dell'enumerazione PropertyHint.


flags PropertyUsageFlags: 🔗

PropertyUsageFlags PROPERTY_USAGE_NONE = 0

La proprietà non è memorizzata e non è visualizzata nell'editor. Questo è il valore predefinito per le proprietà non esportate.

PropertyUsageFlags PROPERTY_USAGE_STORAGE = 2

La proprietà è serializzata e salvata nel file della scena (predefinito per le proprietà esportate).

PropertyUsageFlags PROPERTY_USAGE_EDITOR = 4

La proprietà è mostrata nell'EditorInspector (predefinito per le proprietà esportate).

PropertyUsageFlags PROPERTY_USAGE_INTERNAL = 8

La proprietà è esclusa dal riferimento di classe.

PropertyUsageFlags PROPERTY_USAGE_CHECKABLE = 16

La proprietà può essere spuntata nell'EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_CHECKED = 32

La proprietà è spuntata nell'EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_GROUP = 64

Utilizzato per raggruppare le proprietà assieme nell'editor. Vedi EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_CATEGORY = 128

Usato per classificare insieme delle proprietà nell'editor.

PropertyUsageFlags PROPERTY_USAGE_SUBGROUP = 256

Utilizzato per raggruppare le proprietà assieme nell'editor in un sottogruppo. Vedi EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_CLASS_IS_BITFIELD = 512

La proprietà è una maschera di bit, ossia contiene più opzioni rappresentate come bit.

PropertyUsageFlags PROPERTY_USAGE_NO_INSTANCE_STATE = 1024

La proprietà non salva il suo stato in PackedScene.

PropertyUsageFlags PROPERTY_USAGE_RESTART_IF_CHANGED = 2048

In seguito a una modifica della proprietà, sarà chiesto all'utente di riavviare l'editor.

PropertyUsageFlags PROPERTY_USAGE_SCRIPT_VARIABLE = 4096

La proprietà è una variabile di script. PROPERTY_USAGE_SCRIPT_VARIABLE può essere utilizzata per distinguere tra le variabili esportate da script e le variabili integrate (che non hanno questo flag di utilizzo). Come predefinito, PROPERTY_USAGE_SCRIPT_VARIABLE non viene applicato alle variabili create sovrascrivendo Object._get_property_list() in uno script.

PropertyUsageFlags PROPERTY_USAGE_STORE_IF_NULL = 8192

Il valore della proprietà di tipo Object verrà memorizzato anche se il suo valore è null.

PropertyUsageFlags PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED = 16384

Se questa proprietà è modificata, tutti i campi dell'ispettore saranno rinfrescati.

PropertyUsageFlags PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE = 32768

Deprecato: This flag is not used by the engine.

PropertyUsageFlags PROPERTY_USAGE_CLASS_IS_ENUM = 65536

La proprietà è una variabile di tipo enumeratore, ossia prende solo le constanti di interi denominate dalla sua enumerazione associata.

PropertyUsageFlags PROPERTY_USAGE_NIL_IS_VARIANT = 131072

Se la proprietà ha nil come valore predefinito, il suo tipo sarà Variant.

PropertyUsageFlags PROPERTY_USAGE_ARRAY = 262144

La proprietà rappresenta il numero di elementi di un array di proprietà, ovvero un elenco di gruppi di proprietà correlate. Le proprietà definite con questo utilizzo richiedono inoltre un campo specifico class_name nella forma label,prefix. Il campo può includere anche ulteriori opzioni separate da virgola:

  • page_size=N: sovrascrive EditorSettings.interface/inspector/max_array_dictionary_items_per_page per questo array.

  • add_button_text=text: il testo visualizzato dal pulsante “Aggiungi elemento”.

  • static: gli elementi non possono essere riorganizzati.

  • const: non è possibile aggiungere nuovi elementi.

  • numbered: accanto a ciascun elemento apparirà un indice.

  • unfoldable: l'array non può essere ridotto.

  • swap_method=method_name: Il metodo che verrà chiamato quando due elementi si scambiano di posto. Il metodo dovrebbe accettare 2 parametri int, che saranno gli indici degli elementi da scambiare.

Si noti che la creazione di un array di proprietà completo richiede codice boilerplate che coinvolge Object._get_property_list().

PropertyUsageFlags PROPERTY_USAGE_ALWAYS_DUPLICATE = 524288

Quando si duplica una risorsa con Resource.duplicate(), e questo flag è impostato su una proprietà di tale risorsa, la proprietà dovrebbe sempre essere duplicata, indipendentemente dal parametro booleano subresources.

PropertyUsageFlags PROPERTY_USAGE_NEVER_DUPLICATE = 1048576

Quando si duplica una risorsa con Resource.duplicate(), e questo flag è impostato su una proprietà di tale risorsa, la proprietà dovrebbe sempre mai duplicata, indipendentemente dal parametro booleano subresources.

PropertyUsageFlags PROPERTY_USAGE_HIGH_END_GFX = 2097152

La proprietà è solo mostrata nell'editor se sono supportati i rendering moderni (il metodo di rendering Compatibilità è escluso).

PropertyUsageFlags PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT = 4194304

La proprietà NodePath sarà sempre relativa alla radice della scena. Molto utile per le risorse locali.

PropertyUsageFlags PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT = 8388608

Utilizzato quando una risorsa viene creata al volo, ossia il getter restituirà sempre un'istanza diversa. ResourceSaver ha bisogno di queste informazioni per salvare correttamente le tali risorse.

PropertyUsageFlags PROPERTY_USAGE_KEYING_INCREMENTS = 16777216

Inserire un fotogramma chiave di animazione di questa proprietà incrementerà automaticamente il valore, permettendo di generare facilmente più fotogrammi chiave in fila.

PropertyUsageFlags PROPERTY_USAGE_DEFERRED_SET_RESOURCE = 33554432

Deprecato: This flag is not used by the engine.

PropertyUsageFlags PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT = 67108864

Quando questa proprietà è una Resource e l'oggetto di base è un Node, un'istanza della risorsa verrà creata automaticamente ogni volta che il nodo viene creato nell'editor.

PropertyUsageFlags PROPERTY_USAGE_EDITOR_BASIC_SETTING = 134217728

La proprietà è considerata un'impostazione di base e apparirà anche quando la modalità avanzata è disabilitata. Utilizzato per le impostazioni del progetto.

PropertyUsageFlags PROPERTY_USAGE_READ_ONLY = 268435456

La proprietà è di sola lettura nell'EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_SECRET = 536870912

Una proprietà di una preimpostazione d'esportazione con questo flag contiene informazioni riservate e viene memorizzata separatamente dal resto della configurazione per la preimpostazione.

PropertyUsageFlags PROPERTY_USAGE_DEFAULT = 6

Utilizzo predefinito (memorizzazione e editor).

PropertyUsageFlags PROPERTY_USAGE_NO_EDITOR = 2

Utilizzo predefinito, ma senza mostrare la proprietà nell'editor (memorizzazione).


flags MethodFlags: 🔗

MethodFlags METHOD_FLAG_NORMAL = 1

Flag per un metodo normale.

MethodFlags METHOD_FLAG_EDITOR = 2

Flag per un metodo dell'editor.

MethodFlags METHOD_FLAG_CONST = 4

Flag per un metodo costante.

MethodFlags METHOD_FLAG_VIRTUAL = 8

Flag per un metodo virtuale.

MethodFlags METHOD_FLAG_VARARG = 16

Flag per una metodo con un numero variabile di argomenti.

MethodFlags METHOD_FLAG_STATIC = 32

Flag per un metodo statico.

MethodFlags METHOD_FLAG_OBJECT_CORE = 64

Usato internamente. Consente di non scaricare metodi virtuali fondamentali (come Object._notification()) all'API JSON.

MethodFlags METHOD_FLAG_VIRTUAL_REQUIRED = 128

Flag per un metodo virtuale che è obbligatorio. In GDScript, questo flag è impostato per le funzioni astratte.

MethodFlags METHOD_FLAGS_DEFAULT = 1

Flag di metodo predefiniti (normale).


enum Variant.Type: 🔗

Variant.Type TYPE_NIL = 0

La variabile è null.

Variant.Type TYPE_BOOL = 1

La variabile è di tipo bool.

Variant.Type TYPE_INT = 2

La variabile è di tipo int.

Variant.Type TYPE_FLOAT = 3

La variabile è di tipo float.

Variant.Type TYPE_STRING = 4

La variabile è di tipo String.

Variant.Type TYPE_VECTOR2 = 5

La variabile è di tipo Vector2.

Variant.Type TYPE_VECTOR2I = 6

La variabile è di tipo Vector2i.

Variant.Type TYPE_RECT2 = 7

La variabile è di tipo Rect2.

Variant.Type TYPE_RECT2I = 8

La variabile è di tipo Rect2i.

Variant.Type TYPE_VECTOR3 = 9

La variabile è di tipo Vector3.

Variant.Type TYPE_VECTOR3I = 10

La variabile è di tipo Vector3i.

Variant.Type TYPE_TRANSFORM2D = 11

La variabile è di tipo Transform2D.

Variant.Type TYPE_VECTOR4 = 12

La variabile è di tipo Vector4.

Variant.Type TYPE_VECTOR4I = 13

La variabile è di tipo Vector4i.

Variant.Type TYPE_PLANE = 14

La variabile è di tipo Plane.

Variant.Type TYPE_QUATERNION = 15

La variabile è di tipo Quaternion.

Variant.Type TYPE_AABB = 16

La variabile è di tipo AABB.

Variant.Type TYPE_BASIS = 17

La variabile è di tipo Basis.

Variant.Type TYPE_TRANSFORM3D = 18

La variabile è di tipo Transform3D.

Variant.Type TYPE_PROJECTION = 19

La variabile è di tipo Projection.

Variant.Type TYPE_COLOR = 20

La variabile è di tipo Color.

Variant.Type TYPE_STRING_NAME = 21

La variabile è di tipo StringName.

Variant.Type TYPE_NODE_PATH = 22

La variabile è di tipo NodePath.

Variant.Type TYPE_RID = 23

La variabile è di tipo RID.

Variant.Type TYPE_OBJECT = 24

La variabile è di tipo Object.

Variant.Type TYPE_CALLABLE = 25

La variabile è di tipo Callable.

Variant.Type TYPE_SIGNAL = 26

La variabile è di tipo Signal.

Variant.Type TYPE_DICTIONARY = 27

La variabile è di tipo Dictionary.

Variant.Type TYPE_ARRAY = 28

La variabile è di tipo Array.

Variant.Type TYPE_PACKED_BYTE_ARRAY = 29

La variabile è di tipo PackedByteArray.

Variant.Type TYPE_PACKED_INT32_ARRAY = 30

La variabile è di tipo PackedInt32Array.

Variant.Type TYPE_PACKED_INT64_ARRAY = 31

La variabile è di tipo PackedInt64Array.

Variant.Type TYPE_PACKED_FLOAT32_ARRAY = 32

La variabile è di tipo PackedFloat32Array.

Variant.Type TYPE_PACKED_FLOAT64_ARRAY = 33

La variabile è di tipo PackedFloat64Array.

Variant.Type TYPE_PACKED_STRING_ARRAY = 34

La variabile è di tipo PackedStringArray.

Variant.Type TYPE_PACKED_VECTOR2_ARRAY = 35

La variabile è di tipo PackedVector2Array.

Variant.Type TYPE_PACKED_VECTOR3_ARRAY = 36

La variabile è di tipo PackedVector3Array.

Variant.Type TYPE_PACKED_COLOR_ARRAY = 37

La variabile è di tipo PackedColorArray.

Variant.Type TYPE_PACKED_VECTOR4_ARRAY = 38

La variabile è di tipo PackedVector4Array.

Variant.Type TYPE_MAX = 39

Rappresenta la dimensione dell'enumerazione Variant.Type.


enum Variant.Operator: 🔗

Variant.Operator OP_EQUAL = 0

Operatore uguaglianza (==).

Variant.Operator OP_NOT_EQUAL = 1

Operatore disuguaglianza (==).

Variant.Operator OP_LESS = 2

Operatore minore (<).

Variant.Operator OP_LESS_EQUAL = 3

Operatore minore o uguale (<=).

Variant.Operator OP_GREATER = 4

Operatore maggiore (>).

Variant.Operator OP_GREATER_EQUAL = 5

Operatore maggiore o uguale (>=).

Variant.Operator OP_ADD = 6

Operatore addizione (+).

Variant.Operator OP_SUBTRACT = 7

Operatore sottrazione (-).

Variant.Operator OP_MULTIPLY = 8

Operatore moltiplicazione (*).

Variant.Operator OP_DIVIDE = 9

Operatore divisione (/).

Variant.Operator OP_NEGATE = 10

Operatore negazione unaria (-).

Variant.Operator OP_POSITIVE = 11

Operatore addizione unaria (+).

Variant.Operator OP_MODULE = 12

Operatore resto/modulo (%).

Variant.Operator OP_POWER = 13

Operatore potenza (**).

Variant.Operator OP_SHIFT_LEFT = 14

Operatore scorrimento dei bit a sinistra (<<).

Variant.Operator OP_SHIFT_RIGHT = 15

Operatore scorrimento dei bit a destra (>>).

Variant.Operator OP_BIT_AND = 16

Operatore AND bit-a-bit (&).

Variant.Operator OP_BIT_OR = 17

Operatore OR bit-a-bit (|).

Variant.Operator OP_BIT_XOR = 18

Operatore XOR bit-a-bit (^).

Variant.Operator OP_BIT_NEGATE = 19

Operatore NOT bit-a-bit (~).

Variant.Operator OP_AND = 20

Operatore AND logico (and oppure &&).

Variant.Operator OP_OR = 21

Operatore logico OR (or oppure ||).

Variant.Operator OP_XOR = 22

Operatore XOR logico (non implementato in GDScript).

Variant.Operator OP_NOT = 23

Operatore NOT logico (not oppure !).

Variant.Operator OP_IN = 24

Operatore IN logico (in).

Variant.Operator OP_MAX = 25

Rappresenta la dimensione dell'enumerazione Variant.Operator.


Costanti

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.


Descrizioni delle proprietà

AccessibilityServer AccessibilityServer 🔗

The AccessibilityServer singleton.


AudioServer AudioServer 🔗

Il singleton AudioServer.


CameraServer CameraServer 🔗

Il singleton CameraServer.


ClassDB ClassDB 🔗

Il singleton ClassDB.


DisplayServer DisplayServer 🔗

Il singleton DisplayServer.


EditorInterface EditorInterface 🔗

Il singleton EditorInterface.

Note: Disponibile solo in compilazioni dell'editor.


Engine Engine 🔗

Il singleton Engine.


EngineDebugger EngineDebugger 🔗

Il singleton EngineDebugger.


GDExtensionManager GDExtensionManager 🔗

Il singleton GDExtensionManager.


GDScriptLanguageProtocol GDScriptLanguageProtocol 🔗

The GDScriptLanguageProtocol singleton.

Note: Only available in editor builds.


Geometry2D Geometry2D 🔗

Il singleton Geometry2D.


Geometry3D Geometry3D 🔗

Il singleton Geometry3D.


IP IP 🔗

Il singleton IP.


Input Input 🔗

Il singleton Input.


InputMap InputMap 🔗

Il singleton InputMap.


JavaClassWrapper JavaClassWrapper 🔗

Il singleton JavaClassWrapper.

Note: Implementato solo su Android.


JavaScriptBridge JavaScriptBridge 🔗

Il singleton JavaScriptBridge.

Note: Implementato solo sulla piattaforma Web.


Marshalls Marshalls 🔗

Il singleton Marshalls.


NativeMenu NativeMenu 🔗

Il singleton NativeMenu.

Note: Implementato solo su macOS.


NavigationMeshGenerator NavigationMeshGenerator 🔗

Il singleton NavigationMeshGenerator.


NavigationServer2D NavigationServer2D 🔗

Il singleton NavigationServer2D.


NavigationServer2DManager NavigationServer2DManager 🔗

The NavigationServer2DManager singleton.


NavigationServer3D NavigationServer3D 🔗

Il singleton NavigationServer3D.


NavigationServer3DManager NavigationServer3DManager 🔗

The NavigationServer3DManager singleton.


OS OS 🔗

Il singleton OS.


Performance Performance 🔗

Il singleton Performance.


PhysicsServer2D PhysicsServer2D 🔗

Il singleton PhysicsServer2D.


PhysicsServer2DManager PhysicsServer2DManager 🔗

Il singleton PhysicsServer2DManager.


PhysicsServer3D PhysicsServer3D 🔗

Il singleton PhysicsServer3D.


PhysicsServer3DManager PhysicsServer3DManager 🔗

Il singleton PhysicsServer3DManager.


ProjectSettings ProjectSettings 🔗

Il singleton ProjectSettings.


RenderingServer RenderingServer 🔗

Il singleton RenderingServer.


ResourceLoader ResourceLoader 🔗

Il singleton ResourceLoader.


ResourceSaver ResourceSaver 🔗

Il singleton ResourceSaver.


ResourceUID ResourceUID 🔗

Il singleton ResourceUID.


TextServerManager TextServerManager 🔗

Il singleton TextServerManager.


ThemeDB ThemeDB 🔗

Il singleton ThemeDB.


Time Time 🔗

Il singleton Time.


TranslationServer TranslationServer 🔗

Il singleton TranslationServer.


WorkerThreadPool WorkerThreadPool 🔗

Il singleton WorkerThreadPool.


XRServer XRServer 🔗

Il singleton XRServer.


Descrizioni dei metodi

Variant abs(x: Variant) 🔗

Restituisce il valore assoluto del parametro x di tipo Variant (ovvero un valore positivo). I tipi supportati sono: 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)

Nota: Per migliore sicurezza di tipo, usa absf(), absi(), Vector2.abs(), Vector2i.abs(), Vector3.abs(), Vector3i.abs(), Vector4.abs(), o Vector4i.abs().


float absf(x: float) 🔗

Restituisce il valore assoluto del parametro float x (ovvero un numero positivo).

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

int absi(x: int) 🔗

Restituisce il valore assoluto del parametro int x (ovvero un numero positivo).

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

float acos(x: float) 🔗

Restituisce l'arcocoseno di x in radianti. Usato per trovare l'angolo del coseno di x. x sarà compreso tra 1 e `` -1`` (inclusivo), per evitare che acos() ritorni @GDScript.NAN.

# c è 0.523599 o 30 gradi se convertito con rad_to_deg(c)
var c = acos(0.866025)

float acosh(x: float) 🔗

Restituisce l'arco iperbolico (chiamato anche inverso) di coseno di x, restituendo un valore in radianti. Usalo per ottenere l'angolo da un angolo di coseno in spazio iperbolico se x è maggiore o uguale a 1. Per valori di x minori di 1, questo ritornerà 0, per evitare che acosh() ritorni @GDScript.NAN.

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

var b = acosh(-1) # Restituisce 0

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

Restituisce la differenza tra i due angoli (in radianti), nell'intervallo [-PI, +PI]. Quando from e to sono opposti, restituisce -PI se from è minore di to, o PI altrimenti.


float asin(x: float) 🔗

Restituisce l'arcoseno di x in radianti. Usato per trovare l'angolo del seno di x. x sarà compreso tra 1 e `` -1`` (inclusivo), per evitare che asin() ritorni @GDScript.NAN.

# s è 0.523599 oppure 30 gradi se convertito con rad_to_deg(s)
var s = asin(0.5)

float asinh(x: float) 🔗

Restituisce l'arco iperbolico (chiamato anche inverso) di seno di x, restituendo un valore in radianti. Usalo per ottenere l'angolo da un angolo di seno in spazio iperbolico.

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

float atan(x: float) 🔗

Restituisce l'arcotangente di x in radianti. Usalo per ottenere l'angolo dalla tangente di un angolo in trigonometria.

Il metodo non può sapere in quale quadrante dovrebbe situarsi l'angolo. Vedi atan2() se hai sia y sia x.

var a = atan(0.5) # a è 0.463648

Se x è compreso tra -PI / 2 e PI / 2 (inclusi), atan(tan(x)) è uguale a x.


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

Restituisce l'arcotangente di y/x in radianti. Usalo per avere l'angolo della tangente y/x. Per calcolare il valore, il metodo prende in considerazione i segni di entrambi gli argomenti per determinare il quadrante.

Nota importante: La coordinata Y viene per prima per convenzione.

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

float atanh(x: float) 🔗

Restituisce l'arcotangente iperbolico (chiamato anche inverso) di x, restituendo un valore in radianti. Utilizzalo per ottenere l'angolo da un angolo tangente in spazio iperbolico se x è tra -1 e 1 (non inclusivo).

In matematica, la tangente iperbolica inversa è definita solo per -1 < x < 1 nell'insieme di numeri reali, quindi valori uguali o inferiori a -1 per x restituiscono @GDScript.INF negativi e valori uguali o superiori a 1 restituiscono @GDScript.INF positivo per impedire ad atanh() di restituire @GDScript.NAN

var a = atanh(0.9) # Restituisce 1.47221948958322
tanh(a) # Restituisce 0.9

var b = atanh(-2) # Restituisce -inf
tanh(b) # Restituisce -1

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

Restituisce il derivato al t fornito su una curva di Bézier unidimensionale definita dai punti control_1, control_2, e end forniti.


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

Restituisce il punto al t fornito su una curva di Bézier unidimensionale definita dai punti control_1, control_2, e end forniti.


Variant bytes_to_var(bytes: PackedByteArray) 🔗

Decodifica un array di byte in un valore Variant, senza decodificare gli oggetti.

Nota: Se hai bisogno di deserializzare gli oggetti, vedi bytes_to_var_with_objects().


Variant bytes_to_var_with_objects(bytes: PackedByteArray) 🔗

Decodifica un array di byte come un valore Variant. È permesso decodificare gli oggetti.

Attenzione: Un oggetto deserializzato può contenere codice che verrà eseguito. Non usare questa opzione se l'oggetto serializzato arriva da fonti sconosciute per evitare eventuali rischi di sicurezza (esecuzione di codice remoto).


Variant ceil(x: Variant) 🔗

Arrotonda x per eccesso (verso l'infinito positivo), restituendo il più piccolo numero intero non minore di x. I tipi supportati sono: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

a = ceil(1.45)  # a è 2.0
a = ceil(1.001) # a è 2.0

Vedi anche floor(), round(), snapped()

Nota: Per migliore sicurezza di tipo, usa ceilf(), ceili(), Vector2.ceil(), Vector3.ceil(), o Vector4.ceil().


float ceilf(x: float) 🔗

Arrotonda x per eccesso (verso l'infinito positivo), restituendo il più piccolo numero intero non minore di x.

Una versione di tipo sicuro di ceil(), restituente un float.


int ceili(x: float) 🔗

Arrotonda x per eccesso (verso l'infinito positivo), restituendo il più piccolo numero intero non minore di x.

Una versione di tipo sicuro di ceil(), restituente un int.


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

Limita value, restituendo un Variant non minore di min è non maggiore di max. Ogni valore che può essere confrontato con gli operatori "minore di" e "maggiore di" funzioneranno.

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

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

Nota: Per migliore sicurezza del tipo, usa clampf(), clampi(), Vector2.clamp(), Vector2i.clamp(), Vector3.clamp(), Vector3i.clamp(), Vector4.clamp(), Vector4i.clamp(), o Color.clamp() (che non è attualmente supportato da questo metodo).

Nota: Quando si utilizza questa funziona su vettori non eseguirà il limite per ogni componente, e sceglierà min se valore < min o max se valore > max. Per eseguire il limite per ogni componente utilizza i metodi elencati in precedenza.


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

Limita value, restituendo un float non minore di min e non maggiore di max.

var speed = 42.1
var a = clampf(speed, 1.0, 20.5) # a è 20.5

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

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

Limita value, restituendo un int non minore di min e non maggiore di max.

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

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

float cos(angle_rad: float) 🔗

Restituisce il coseno dell'angolo angle_rad in radianti.

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

float cosh(x: float) 🔗

Restituisce il coseno iperbolico di x in radianti.

print(cosh(1)) # Stampa 1.543081

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

Esegue un interpolazione cubica tra due valori per il fattore definito in weight con valori pre e post.


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

Esegue un interpolazione cubica tra due valori di rotazione con il percorso più breve dal fattore definito in weight con valori pre e post. Vedi anche 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) 🔗

Esegue un interpolazione cubica tra due valori di rotazione con il percorso più breve dal fattore definito in weight con valori pre e post. Vedi anche lerp_angle().

Può eseguire un interpolazione più fluida di cubic_interpolate() dai valori di tempo.


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

Esegue un interpolazione cubica tra due valori per il fattore definito in weight con valori pre e post.

Può eseguire un interpolazione più fluida di cubic_interpolate() dai valori di tempo.


float db_to_linear(db: float) 🔗

Converte da decibel a energia lineare (audio).


float deg_to_rad(deg: float) 🔗

Converte un angolo espresso in gradi in radianti.

var r = deg_to_rad(180) # r è 3.141593

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

Restituisce un valore "allentato" di x basato su una funzione di allentamento definita con curve. Questa funzione è basata su un esponente. curve può essere qualunque numero decimale, con valori specifici che portano ai seguenti comportamenti:

- Minore di -1.0 (esclusi): Ease in-out
- 1.0: Lineare
- Compreso tra -1.0 e 0.0 (esclusi): Ease out-in
- 0.0: Costante
- Compreso tra 0.0 to 1.0 (esclusi): Ease in
- 1.0: Lineare
- Maggiore di 1.0 (esclusi): Ease out

cheatsheet per i valori di curva di ease()

Vedi anche smoothstep(). Se hai bisogno di eseguire transizioni più avanzate, usa Tween.interpolate_value().


String error_string(error: int) 🔗

Restituisce un nome leggibile in chiaro per il codice di errore (Error) indicato.

print(OK)                              # Stampa 0
print(error_string(OK))                # Stampa "OK"
print(error_string(ERR_BUSY))          # Stampa "Busy"
print(error_string(ERR_OUT_OF_MEMORY)) # Stampa "Out of memory"

float exp(x: float) 🔗

La funzione esponenziale naturale. Eleva la costante matematica e alla potenza di x e la restituisce.

e ha un valore approssimativo di 2,71828, e può essere ottenuto con exp(1)

Per gli esponenti ad altre basi utilizzare il metodo pow().

var a = exp(2) # Circa 7.39

Variant floor(x: Variant) 🔗

Arrotonda x verso il basso (verso l'infinito negativo), restituendo il numero intero più grande non maggiore di x.

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

Vedi anche ceil(), round(), e snapped().

Nota: Per migliore sicurezza del tipo, usa floorf(), floori(), Vector2.floor(), Vector3.floor() o Vector4.floor().


float floorf(x: float) 🔗

Arrotonda x verso il basso (verso l'infinito negativo), restituendo il numero intero più grande non maggiore di x.

Una versione a tipo sicuro di floor(), che restituisce un float.


int floori(x: float) 🔗

Arrotonda x verso il basso (verso l'infinito negativo), restituendo il numero intero più grande non maggiore di x.

Una versione a tipo sicuro di floor(), che restituisce un int.

Nota: Questa funzione non è lo stesso di int(x), che arrotonda verso 0.


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

Restituisce il resto in virgola mobile di x diviso per y, mantenendo il segno di x.

var resto= fmod(7, 5.5) # resto è 1.5

Per l'operazione di resto intero, utilizzare l'operatore %.


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

Restituisce il modulo in virgola mobile di x diviso per y, che avvolge ugualmente per numeri positivi e negativi.

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

Stampa:

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

int hash(variable: Variant) 🔗

Restituisce il valore hash intero di variable.

print(hash("a")) # Stampa 177670

Object instance_from_id(instance_id: int) 🔗

Returns the Object that corresponds to instance_id. All Objects have a unique instance ID. See also Object.get_instance_id().

var drink = "water"

func _ready():
    var id = get_instance_id()
    var instance = instance_from_id(id)
    print(instance.drink) # Prints "water"

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

Restituisce un fattore di interpolazione o estrapolazione considerando l'intervallo specificato con from e to, e il valore interpolato specificato in weight. Il valore di ritorno rimarrà tra 0.0 e 1.0 se weight è tra from e to (inclusi). Se weight si trova al di fuori di questo intervallo, allora un fattore di estrapolazione verrà restituito (restituisce un valore minore di 0.0 o maggiore di 1.0). Usa clamp() sul risultato di inverse_lerp() se è un risultato non desiderato.

# Il rapporto di interpolazione nella chiamata di lerp() è minore di 0.75.
var middle = lerp(20, 30, 0.75)
# middle ora è 27.5.

# Ora, fingiamo di aver dimenticato il rapporto originale e lo vogliamo riottenere.
var ratio = inverse_lerp(20, 30, 27.5)
# ratio ora vale 0.75.

Vedi anche lerp() che esegue l'inverso di questa operazione, e remap() per mappare una serie continua di valori a un altra.


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

Restituisce true se a e b sono approssimativamente uguali tra loro.

Qui, approssimativamente uguale significa che a e b sono all'interno di un piccolo epsilon interno l'uno rispetto all'altro, che scala con la grandezza dei numeri.

I valori di infinito con stesso segno sono considerati uguali.


bool is_finite(x: float) 🔗

Restituisce se x è un valore finito, cioè non @GDScript.NAN, infinito positivo, o infinito negativo. Vedi anche is_inf() e is_nan().


bool is_inf(x: float) 🔗

Restituisce true se x è infinito positivo o infinito negativo. Vedi anche is_finite() e is_nan().


bool is_instance_id_valid(id: int) 🔗

Restituisce true se l'oggetto che corrisponde a id è un oggetto valido (ad esempio, non è stato eliminato dalla memoria). Tutti gli oggetti hanno un ID univoco d'istanza.


bool is_instance_valid(instance: Variant) 🔗

Restituisce true se instance è un oggetto valido (ad esempio, non è stato eliminato dalla memoria).


bool is_nan(x: float) 🔗

Restituisce true se x è un valore NaN ("Not a Number" o non valido). Questo metodo è necessario perché @GDScript.NAN non è uguale a se stesso, il che significa che non è possible usare x == NAN per verificare se un valore è un NaN.


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

Restituisce true, per i tipi di valore, se a e b condividono lo stesso valore. Restituisce true, per i tipi di riferimento, se i riferimenti di a e b sono gli stessi.

# Vector2 è un tipo di valore
var vec2_a = Vector2(0, 0)
var vec2_b = Vector2(0, 0)
var vec2_c = Vector2(1, 1)
is_same(vec2_a, vec2_a) # true
is_same(vec2_a, vec2_b) # true
is_same(vec2_a, vec2_c) # false

# Array è un tipo di riferimento
var arr_a = []
var arr_b = []
is_same(arr_a, arr_a) # true
is_same(arr_a, arr_b) # false

Questi sono tipi Variant di valore: null, bool, int, float, String, StringName, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i, Rect2, Rect2i, Transform2D, Transform3D, Plane, Quaternion, AABB, Basis, Projection, Color, NodePath, RID, Callable e Signal.

Questi sono i tipi Variant di riferimento: Object, Dictionary, Array, PackedByteArray, PackedInt32Array, PackedInt64Array, PackedFloat32Array, PackedFloat64Array, PackedStringArray, PackedVector2Array, PackedVector3Array, PackedVector4Array e PackedColorArray.


bool is_zero_approx(x: float) 🔗

Restituisce true se x è zero o quasi zero. Il confronto è eseguito usando un calcolo di tolleranza con un piccolo epsilon interno.

Questo metodo è più veloce di is_equal_approx() con uno dei valori impostati a zero.


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

Interpola linearmente tra due valori con un fattore definito in weight. Per interpolare, weight dovrebbe rimanere tra 0.0 e 1.0 (inclusi). Tuttavia, i valori al di fuori di questo intervallo sono consentiti e possono essere utilizzati per eseguire un'estrapolazione. Se non è desiderato, utilizza clamp() sul risultato di questa funzione.

Sia from che to devono essere dello stesso tipo. I tipi supported sono: int, float, Vector2, Vector3, Vector4, Color, Quaternion, Basis, Transform2D, Transform3D.

lerp(0, 4, 0.75) # Restituisce 3.0

Vedi anche inverse_lerp() che esegue l'inverso di questa operazione. Per eseguire un'interpolazione alleggerita con lerp(), combinalo con ease() o smoothstep(). Vedi anche remap() per mappare una serie continua di valori a un altra.

Nota: Per migliore sicurezza di tipo, usa lerpf(), Vector2.lerp(), Vector3.lerp(), Vector4.lerp(), Color.lerp(), Quaternion.slerp(), Basis.slerp(), Transform2D.interpolate_with(), o Transform3D.interpolate_with().


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

Interpola linearmente tra due angoli (in radianti) con un valore weight tra 0.0 e 1.0.

Simile a lerp(), ma interpola correttamente quando gli angoli sono attorno @GDScript.TAU. Per eseguire un'interpolazione alleggerita con lerp_angle(), combinalo con ease() o 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

Nota: Questo metodo interpola attraverso il percorso più corto tra from e to. Tuttavia, quando questi due angoli sono approssimativamente PI + k * TAU distanti per qualsiasi numero intero k, non è ovvio in quale modo si interpolano a causa di errori di precisione in virgola mobile. Per esempio, lerp_angle(0, PI, weight) interpola in senso anti-orario, mentre lerp_angle(0, PI + 5 * TAU, weight) interpola in senso orario.


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

Interpola linearmente tra due valori con un fattore definito in weight. Per interpolare, weight dovrebbe rimanere tra 0.0 e 1.0 (inclusi). Tuttavia, i valori al di fuori di questo intervallo sono consentiti e possono essere utilizzati per eseguire un'estrapolazione. Se non è desiderato, utilizza clampf() sul risultato di questa funzione.

lerp(0, 4, 0.75) # Restituisce 3.0

Vedi anche inverse_lerp() che esegue l'inverso di questa operazione. Per eseguire un'interpolazione alleggerita con lerp(), combinalo con ease() o smoothstep().


float linear_to_db(lin: float) 🔗

Converte da energia lineare in decibel (audio). Siccome il volume non è lineare, può essere usato per implementare gli slider del volume che si comportano come ci si aspetta.

Esempio: Modifica il volume del bus Master tramite un nodo Slider, che va da 0.0 a 1.0:

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

float log(x: float) 🔗

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

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

log(10) # Returns 2.302585

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


Variant max(...) vararg 🔗

Restituisce il massimo tra i valori numerici forniti. Questa funzione prendere qualsiasi numero di argomenti.

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

Nota: Quando si utilizza questa funzione sui vettori non eseguirà il massimo per ogni componente, e sceglierà il valore più grande se confrontato con x < y. Per eseguire il massimo per ogni componente, utilizza Vector2.max(), Vector2i.max(), Vector3.max(), Vector3i.max(), Vector4.max(), e Vector4i.max().


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

Restituisce il massimo tra due valori di tipo float.

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

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

Restituisce il massimo tra due valori di tipo int.

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

Variant min(...) vararg 🔗

Restituisce il minimo tra i valori numerici forniti. Questa funzione prendere qualsiasi numero di argomenti.

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

Nota: Quando si utilizza questa funzione sui vettori non eseguirà il minimo per ogni componente, e sceglierà il valore più piccolo se confrontato con x < y. Per eseguire il minimo per ogni componente, utilizza Vector2.min(), Vector2i.min(), Vector3.min(), Vector3i.min(), Vector4.min(), e Vector4i.min().


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

Restituisce il minimo tra due valori di tipo float.

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

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

Restituisce il minimo tra due valori di tipo int.

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

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

Muove from verso to del valore di delta.

Usa un valore di delta negativo per muovere all'indietro.

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

int nearest_po2(value: int) 🔗

Restituisce la più piccola potenza di 2 che è maggiore o uguale a value.

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

nearest_po2(0)  # Restituisce 0 (potrebbe essere inaspettato)
nearest_po2(-1) # Restituisce 0 (potrebbe essere inaspettato)

Attenzione: A causa del modo in cui è implementata, questa funzione restituisce 0 invece di 1 per i valori minori o uguali a 0, eccetto quando value è l'intero di 64 bit più piccolo (-9223372036854775808) dove value viene restituito senza cambiamenti.


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

Avvolge value tra 0 e length. Se il limite è raggiunto, il valore successivo la funzione restituisce è diminuito al lato di 0 o aumentato al lato di length (come un'onda triangolare). Se length è inferiore a zero, diventa positivo.

pingpong(-3.0, 3.0) # Restituisce 3.0
pingpong(-2.0, 3.0) # Restituisce 2.0
pingpong(-1.0, 3.0) # Restituisce 1.0
pingpong(0.0, 3.0)  # Restituisce 0.0
pingpong(1.0, 3.0)  # Restituisce 1.0
pingpong(2.0, 3.0)  # Restituisce 2.0
pingpong(3.0, 3.0)  # Restituisce 3.0
pingpong(4.0, 3.0)  # Restituisce 2.0
pingpong(5.0, 3.0)  # Restituisce 1.0
pingpong(6.0, 3.0)  # Restituisce 0.0

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

Restituisce il modulo intero di x diviso per y che si avvolge in positivo e negativo egualmente.

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

Stampa:

(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) 🔗

Restituisce il risultato di base elevato alla potenza di exp.

In GDScript, questo è l'equivalente dell'operatore **.

pow(2, 5)   # Restituisce 32.0
pow(4, 1.5) # Restituisce 8.0

void print(...) vararg 🔗

Converte uno o più argomenti di qualunque tipo in una stringa e li stampa nella console.

var a = [1, 2, 3]
print("a", "b", a) # Stampa "ab[1, 2, 3]"

Nota: Valuta l'utilizzo di push_error() e push_warning() per stampare messaggi di errore e di avviso invece di utilizzare print(). Questo consente di distinguerli dai messaggi di debug, mostrando inoltre uno stack trace quando viene stampato un errore o un'avviso. Vedi anche Engine.print_to_stdout e ProjectSettings.application/run/disable_stdout.


void print_rich(...) vararg 🔗

Converte uno o più argomenti di qualsiasi tipo in stringa nel miglior modo possibile e li stampa nella console.

I seguenti tag BBCode sono supportati: b, i, u, s, indent, code, url, center, right, color, bgcolor, fgcolor.

I tag URL supportano solo gli URL avvolti da un tag URL, non URL con un titolo diverso.

Quando si stampa all'output standard, il sottoinsieme supportato di BBCode viene convertito in codici di escape ANSI da visualizzare per l'emulatore del terminale. Il supporto per i codici di escape ANSI varia tra diversi emulatori di terminali, soprattutto per il corsivo e la barratura. Nell'output standard, code è rappresentato con testo schiarito ma senza alcun cambiamento di font. I tag non supportati vengono lasciati così come sono nell'output standard.

print_rich("[color=green][b]Ciao mondo![/b][/color]") # Stampa "Ciao mondo!", in verde con font in grassetto.

Nota: Considera l'utilizzo di push_error() e di push_warning() per stampare messaggi di errore e di avviso invece di print() o print_rich(). Ciò li distingue dai messaggi stampati usati per scopi di debug, e visualizzano anche uno stack trace quando viene stampato un errore o un avviso.

Nota: L'output visualizzato nell'editor supporta tag cliccabili [url=address]text[/url]. Il valore di [code]address del tag [url] viene gestito da OS.shell_open() al clic.


void print_verbose(...) vararg 🔗

Se la modalità verbosa è abilitata (OS.is_stdout_verbose() restituisce true), converte uno o più argomenti di qualsiasi tipo a stringa nel miglior modo possibile e li stampa sulla console.


void printerr(...) vararg 🔗

Stampa uno o più argomenti come stringhe nel miglior modo possibile sulla linea di errore standard.

printerr("prints to stderr")

void printraw(...) vararg 🔗

Stampa uno o più argomenti come stringhe nel miglior modo possibile sulla linea di errore standard. A differenza di print(), nessuna nuova linea viene automaticamente aggiunta alla fine.

Nota: Il terminale del sistema operativo non è lo stesso del pannello di output nell'editor. È possibile vedere l'output inviato al terminale del sistema operativo quando Godot è eseguito da un terminale. Su Windows, ciò richiede l'eseguibile console.exe .

printraw("A")
printraw("B")
printraw("C")
# Stampa "ABC" sul terminale

void prints(...) vararg 🔗

Stampa uno o più argomenti sulla console con uno spazio tra ogni argomento.

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

void printt(...) vararg 🔗

Stampa uno o più argomenti sulla console con una tabulazione tra ogni argomento.

printt("A", "B", "C") # Stampa "A       B       C"

void push_error(...) vararg 🔗

Manda un messaggio di errore al debugger integrato di Godot e al terminale del sistema operativo.

push_error("errore di prova") # Stampa "errore di prova" nel debugger e nel terminale come errore.

Nota: Questo funzione non interrompe l'esecuzione del progetto. Per stampare un messaggio e mettere in pausa l'esecuzione nelle build di debug, usa invece assert(false, "test error").


void push_warning(...) vararg 🔗

Manda un messaggio di avviso al debugger integrato di Godot e al terminale del sistema operativo.

push_warning("avviso di prova") # Stampa "avviso di prova" nel debugger e nel terminale come avviso.

float rad_to_deg(rad: float) 🔗

Converte un angolo espresso in radianti in gradi.

rad_to_deg(0.523599) # Restituisce 30
rad_to_deg(PI)       # Restituisce 180
rad_to_deg(PI * 2)   # Restituisce 360

PackedInt64Array rand_from_seed(seed: int) 🔗

Fornito un seed, restituisce un PackedInt64Array di dimensione 2, dove il suo primo elemento è il valore int randomizzato, e il secondo elemento è lo stesso di seed. Passando lo stesso seed restituisce costantemente lo stesso array.

Nota: "Seed" qui si riferisce allo stato interno del generatore di numeri pseudocasuali, attualmente implementato come un intero a 64 bit.

var a = rand_from_seed(4)

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

float randf() 🔗

Restituisce un value casuale in virgola mobile tra 0.0 e 1.0 (inclusi).

randf() # Restituisce ad esempio 0.375671

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

Restituisce un valore casuale in virgola mobile tra from e to (inclusi).

randf_range(0, 20.5) # Restituisce ad esempio 7.45315
randf_range(-10, 10) # Restituisce ad esempio -3.844535

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

Restituisce un valore in virgola mobile, pseudocasuale e normalmente distribuito dalla media specificata (mean) e una deviazione standard (deviation). Questa è anche conosciuta come una distribuzione gaussiana.

Nota: Questo metodo utilizza l'algoritmo della trasformazione di Box-Muller.


int randi() 🔗

Restituisce un numero casuale intero di 32-bit senza segno. Adoperando l'operatore modulo/resto è possibile generare valori nell'intervallo [0, N - 1] (dove N è minore di 2^32).

randi()           # Restituisce un intero casuale tra 0 e 2^32 - 1
randi() % 20      # Restituisce un intero casuale tra 0 e 19
randi() % 100     # Restituisce un intero casuale tra 0 e 99
randi() % 100 + 1 # Restituisce un intero casuale tra 1 e 100

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

Restituisce un numero casuale intero di 32-bit con segno. Se to è minore di from, essi vengono scambiati

randi_range(0, 1)      # Restituisce 0 o 1
randi_range(-10, 1000) # Restituisce un intero casuale tra -10 e 1000

void randomize() 🔗

Randomizza il seed (o lo stato interno) del generatore di numeri casuali. L'implementazione attuale utilizza un numero basato sul tempo del dispositivo.

Nota: Questa funzione viene chiamata automaticamente quando il progetto viene eseguito. Se è necessario fissare il seed per avere risultati consistenti e riproducibilii, utilizza seed() per inizializzare il generatore di numeri casuali.


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

Mappa il valore value dall'intervallo [istart, istop] a [ostart, ostop]. Vedi anche lerp() e inverse_lerp(). Se value è fuori dall'intervallo [istart, istop], allora il numero che risulterà sarà anche esso fuori da [ostart, ostop]. Se non lo si desidera, utilizza clamp() sul risultato di questa funzione .

range_lerp(75, 0, 100, -1, 1) # Restituisce 0.5

Per utilizzi complessi in cui sono necessari molteplici intervalli, considera piuttosto l'utilizzo di Curve o Gradient.

Nota: Se istart == istop, il valore restituito non è definito (probabilmente NaN, INF o -INF).


int rid_allocate_id() 🔗

Alloca un ID unico che può essere utilizzato dall'implementazione per costruire un RID. Questo è utilizzato principalmente da estensioni native per implementare i server.


RID rid_from_int64(base: int) 🔗

Crea un RID da una base. Questo è utilizzato principalmente da estensioni native per costruire i server.


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

Ruota from verso to per la quantità delta. Non andrà oltre to.

Simile a move_toward(), ma interpola correttamente quando gli angoli si avvolgono a @GDScript.TAU.

Se delta è negativo, questa funzione ruoterà via da from, verso l'angolo opposto, e non andrà oltre l'angolo opposto.


Variant round(x: Variant) 🔗

Arrotonda x al numero intero più vicino, e lontano da 0 nei casi equidistanti. I tipi supportati sono: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

round(2.4) # Restituisce 2
round(2.5) # Restituisce 3
round(2.6) # Restituisce 3

Consulta inoltre floor(), ceil(), e snapped().

Note: Per migliore sicurezza di tipo, use roundf(), roundi(), Vector2.round(), Vector3.round(), o Vector4.round().


float roundf(x: float) 🔗

Arrotonda x al numero intero più vicino, e lontano da 0 nei casi equidistanti.

Una versione di tipo sicuro di round(), che restituisce un float.


int roundi(x: float) 🔗

Arrotonda x al numero intero più vicino, e lontano da 0 nei casi equidistanti.

Una versione di tipo sicuro di round(), che restituisce un int.


void seed(base: int) 🔗

Imposta il seed per il generatore di numeri casuale a base. Impostare il seed manualmente può garantire risultati costanti e ripetibili per la maggior parte delle funzioni di casualità.

var my_seed = "Godot Rocks".hash()
seed(my_seed)
var a = randf() + randi()
seed(my_seed)
var b = randf() + randi()
# a e b sono ora identici

Variant sign(x: Variant) 🔗

Restituisce lo stesso tipo di Variant di x, con -1 per i valori negativi, 1 per i valori positivi, e 0 per gli zeri. Per i valori nan restituisce 0.

I tipi supportati sono: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

sign(-6.0) # Restituisce -1
sign(0.0)  # Restituisce 0
sign(6.0)  # Restituisce 1
sign(NAN)  # Restituisce 0

sign(Vector3(-6.0, 0.0, 6.0)) # Restituisce (-1, 0, 1)

Nota: Per una migliore sicurezza del tipo, utilizza signf(), signi(), Vector2.sign(), Vector2i.sign(), Vector3.sign(), Vector3i.sign(), Vector4.sign(), o Vector4i.sign().


float signf(x: float) 🔗

Restituisce -1.0 se x è negativo, 1.0 se x è positivo, e 0.0 se x è zero. Per i valori nan di x restituisce 0.0.

signf(-6.5) # Restituisce -1.0
signf(0.0)  # Restituisce 0.0
signf(6.5)  # Restituisce 1.0
signf(NAN)  # Restituisce 0.0

int signi(x: int) 🔗

Restituisce -1 se x è negativo, 1 se x è positivo, e 0 se x è zero.

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

float sin(angle_rad: float) 🔗

Restituisce il seno dell'angolo angle_rad in radianti.

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

float sinh(x: float) 🔗

Restituisce il seno iperbolico di x.

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

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

Restituisce un'interpolazione regolare cubica di Hermite 0 e 1.

Per intervalli positivi (quando s <= from) il valore restituito è 0 quando x <= to e 1 quando x >= to. Se x è compreso tra from e to, il valore restituito seguirà una curva a forma di S che passa gradualmente tra 0 e 1.

Per intervalli negativi (quando from > to) la funzione è invertita e restituisce 1 quando x <= to e 0 quando x >= from.

La curva a forma di S è l'interpolatore cubico di Hermite, dato da f(y) = 3*y^2 - 2*y^3 dove y = (x-from) / (to-from).

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

Rispetto a ease() con un valore di curva di -1.6521, smoothstep() restituisce la curva più regolare possibile senza improvvisi cambiamenti sulla derivata. Se hai bisogno di effettuare transizioni più avanzate, usa Tween o AnimationPlayer.

Confronto dei valori di ritorno tra smoothstep() e ease(x, -1.6521)

Valori restituiti da smoothstep() con intervalli positivi, negativi o pari a zero


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

Restituisce il multiplo di step che è più vicino a x. Questo può essere anche utilizzato per arrotondare un numero in virgola mobile a un numero arbitrario di cifre decimali.

Il valore di ritorno è dello stesso tipo di Variant di step. I tipi supportati sono: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

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

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

Vedi anche ceil(), floor(), e round().

Note: Per migliore sicurezza di tipo usa snappedf(), snappedi(), Vector2.snapped(), Vector2i.snapped(), Vector3.snapped(), Vector3i.snapped(), Vector4.snapped(), o Vector4i.snapped().


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

Restituisce il multiplo di step che è più vicino a x. Questo può essere anche utilizzato per arrotondare un numero in virgola mobile a un numero arbitrario di cifre decimali.

Una versione di tipo sicuro di snapped(), che restituisce un float.

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

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

Restituisce il multiplo di step che è più vicino a x.

Una versione di tipo sicuro di snapped(), che restituisce un int.

snappedi(53, 16)  # Restituisce 48
snappedi(4096, 100)  # Restituisce 4100

float sqrt(x: float) 🔗

Restituisce la radice quadrata di x, dove x è un numero non negativo.

sqrt(9)     # Restituisce 3
sqrt(10.24) # Restituisce 3.2
sqrt(-1)    # Restituisce NaN

Nota: I valori negativi di x restituiscono NaN ("Not a Number"). In C#, se servono valori negativi, è suggerito l'utilizzo di System.Numerics.Complex.


int step_decimals(x: float) 🔗

Restituisce la posizione della prima cifra diversa da zero, dopo il punto decimale. Il massimo valore restituito è 10, dovuto a una scelta implementativa.

var n = step_decimals(5)       # n è 0
n = step_decimals(1.0005)      # n è 4
n = step_decimals(0.000000005) # n è 9

String str(...) vararg 🔗

Converte uno o più argomenti di qualunque tipo Variant in una stringa nel miglior modo possibile.

var a = [10, 20, 30]
var b = str(a)
print(len(a)) # Stampa 3 (il numero di elementi nell'array).
print(len(b)) # Stampa 12 (la lunghezza della stringa "[10, 20, 30]").

Variant str_to_var(string: String) 🔗

Converte una stringa formattata restituita da var_to_str() nel valore Variant originale.

var data = '{ "a": 1, "b": 2 }' # data è una stringa
var dict = str_to_var(data)     # dict è un dizionario
print(dict["a"])                # Stampa 1

float tan(angle_rad: float) 🔗

Restituisce la tangente dell'angolo angle_rad in radianti.

tan(deg2rad(45)) # Restituisce 1

float tanh(x: float) 🔗

Restituisce la tangente iperbolica di x.

var a = log(2.0) # Restituisce 0.693147
tanh(a)          # Restituisce 0.6

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

Converte variant al tipo type, tramite valori di Variant.Type. Questo metodo è generoso con come gestisce i tipi, può convertire automaticamente tra tipi di array, convertire String di numeri in int, e convertire la maggior parte di variabili in String.

Se la conversione del tipo non può essere eseguita, questo metodo restituirà il valore predefinito per quel tipo, per esempio la conversione da Rect2 a Vector2 restituirà sempre Vector2.ZERO. Questo metodo non mostrerà mai messaggi di errore purché type sia un tipo di Variant valido.

Il valore restituito è un Variant, ma i dati interni e il suo tipo saranno gli stessi del tipo richiesto.

type_convert("Hi!", TYPE_INT) # Restituisce 0
type_convert("123", TYPE_INT) # Restituisce 123
type_convert(123.4, TYPE_INT) # Restituisce 123
type_convert(5, TYPE_VECTOR2) # Restituisce (0, 0)
type_convert("Hi!", TYPE_NIL) # Restituisce null

String type_string(type: int) 🔗

Restituisce un nome leggibile in chiaro del tipo type, attraverso i valori di Variant.Type.

print(TYPE_INT) # Stampa 2
print(type_string(TYPE_INT)) # Stampa "int"
print(type_string(TYPE_STRING)) # Stampa "String"

Vedi anche typeof().


int typeof(variable: Variant) 🔗

Returns the internal type of the given variable, using the Variant.Type values.

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!")

See also type_string().


PackedByteArray var_to_bytes(variable: Variant) 🔗

Codifica un valore Variant in un array di byte, senza codificare gli oggetti. La deserializzazione può essere eseguita con bytes_to_var().

Nota: Se hai bisogno di serializzare gli oggetti, vedi var_to_bytes_with_objects().

Nota: La codifica dei tipi Callable non è supportata e produrrà un valore vuoto, a prescindere dai dati.


PackedByteArray var_to_bytes_with_objects(variable: Variant) 🔗

Codifica un valore Variant in un array di byte. È consentito codificare gli oggetti (e può potenzialmente includere codice eseguibile). La deserializzazione può essere eseguita con bytes_to_var_with_objects().

Nota: La codifica dei tipi Callable non è supportata e produrrà un valore vuoto, a prescindere dai dati.


String var_to_str(variable: Variant) 🔗

Converte un Variant variable in una stringa formattata che può essere successivamente elaborata tramite str_to_var().

var a = { "a": 1, "b": 2 }
print(var_to_str(a))

Prints:

{
    "a": 1,
    "b": 2
}

Nota: Convertire i tipi Signal o Callable non è supportato e risulteranno in un valore vuoto, a prescindere dai loro dati.


Variant weakref(obj: Variant) 🔗

Restituisce un'istanza di WeakRef che mantiene un riferimento debole (weak) all'oggetto obj. Restituisce un istanza di WeakRef vuota se obj è null. Stampa un errore e restituisce null se obj non è né derivato da un Objectnull.

Un riferimento debole non è sufficiente per mantenere l'oggetto in vita: se è l'unico riferimento rimasto il garbage collector è autorizzato a deallocarlo in un qualunque momento. Comunque, finché non sarà deallocato, tale riferimento consentirebbe di adoperare l'oggetto anche se non sono presenti riferimenti forti (strong) ad esso.


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

Avvolge il valore float value tra min e max. min è inclusivo mentre max è esclusivo. Può essere usato per creare dei comportamenti simili a cicli o superfici infinite.

Entrambi int e float sono supportati. Se uno degli argomenti è float questa funzione restituisce un float, altrimenti restituisce un int.

var a = wrap(4, 5, 10)
# a è 9 (int)

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

var a = wrap(10.5, 5, 10)
# a è 5.5 (float)

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

Avvolge il valore float value tra min e max. min è inclusivo mentre max è esclusivo. Può essere usato per creare dei comportamenti simili a cicli o superfici infinite.

# Ciclo infinito tra 5.0 e 9.9
value = wrapf(value + 0.1, 5.0, 10.0)
# Rotazione infinita (in radianti)
angle = wrapf(angle + 0.1, 0.0, TAU)
# Rotazione infinita (in radianti)
angle = wrapf(angle + 0.1, -PI, PI)

Nota: Se min è 0, questo è equivalente a fposmod(), quindi è preferibile utilizzare quello invece. wrapf() è più flessibile rispetto a fposmod() perché permette di controllare il valore minimo.


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

Avvolge il valore intero value tra min e max. min è inclusivo mentre max è esclusivo. Può essere usato per creare dei comportamenti simili a cicli o superfici infinite.

# Ciclo infinito tra 5 e 9
frame = wrapi(frame + 1, 5, 10)
# risultato è -2
var risultato = wrapi(-6, -5, -1)