Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
@GlobalScope
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à
Metodi
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.
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.
Key KEY_SEARCH = 4194395
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.
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.
Error ERR_LINK_FAILED = 38
Errore di collegamento fallito.
Error ERR_SCRIPT_FAILED = 39
Errore di script fallito.
Error ERR_CYCLIC_LINK = 40
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.
PropertyHint PROPERTY_HINT_LINK = 5
Hints that a vector property should allow its components to be linked. For example, this allows Vector2.x and Vector2.y to be edited together. This hint is supported on Vector2, Vector2i, Vector3, Vector3i, Vector4, and Vector4i. The hint string can be used to specify a suffix indicating each value's unit with the "suffix:px/s" syntax.
PropertyHint PROPERTY_HINT_FLAGS = 6
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.
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.
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]
// Array of elemType.
hintString = $"{elemType:D}:";
hintString = $"{elemType:D}/{elemHint:D}:{elemHintString}";
// Two-dimensional array of elemType (array of arrays of elemType).
hintString = $"{Variant.Type.Array:D}:{elemType:D}:";
hintString = $"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
// Three-dimensional array of elemType (array of arrays of arrays of elemType).
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:";
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
Examples:
hint_string = "%d:" % [TYPE_INT] # Array of integers.
hint_string = "%d/%d:1,10,1" % [TYPE_INT, PROPERTY_HINT_RANGE] # Array of integers (in range from 1 to 10).
hint_string = "%d/%d:Zero,One,Two" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
hint_string = "%d/%d:Zero,One,Three:3,Six:6" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array of integers (an enum).
hint_string = "%d/%d:*.png" % [TYPE_STRING, PROPERTY_HINT_FILE] # Array of strings (file paths).
hint_string = "%d/%d:Texture2D" % [TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Array of textures.
hint_string = "%d:%d:" % [TYPE_ARRAY, TYPE_FLOAT] # Two-dimensional array of floats.
hint_string = "%d:%d/%d:" % [TYPE_ARRAY, TYPE_STRING, PROPERTY_HINT_MULTILINE_TEXT] # Two-dimensional array of multiline strings.
hint_string = "%d:%d/%d:-1,1,0.1" % [TYPE_ARRAY, TYPE_FLOAT, PROPERTY_HINT_RANGE] # Two-dimensional array of floats (in range from -1 to 1).
hint_string = "%d:%d/%d:Texture2D" % [TYPE_ARRAY, TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Two-dimensional array of textures.
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1"; // Array of integers (in range from 1 to 10).
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Two"; // Array of integers (an enum).
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6"; // Array of integers (an enum).
hintString = $"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png"; // Array of strings (file paths).
hintString = $"{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Array of textures.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}:"; // Two-dimensional array of floats.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.String:D}/{PropertyHint.MultilineText:D}:"; // Two-dimensional array of multiline strings.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}/{PropertyHint.Range:D}:-1,1,0.1"; // Two-dimensional array of floats (in range from -1 to 1).
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Two-dimensional array of textures.
Note: The trailing colon is required for properly detecting built-in types.
PropertyHint PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE = 24
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.
Il singleton ClassDB.
DisplayServer DisplayServer 🔗
Il singleton DisplayServer.
EditorInterface EditorInterface 🔗
Il singleton EditorInterface.
Note: Disponibile solo in compilazioni dell'editor.
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.
Il singleton IP.
Il singleton Input.
Il singleton InputMap.
JavaClassWrapper JavaClassWrapper 🔗
Il singleton JavaClassWrapper.
Note: Implementato solo su Android.
JavaScriptBridge JavaScriptBridge 🔗
Il singleton JavaScriptBridge.
Note: Implementato solo sulla piattaforma Web.
Il singleton Marshalls.
Il singleton NativeMenu.
Note: Implementato solo su macOS.
Il singleton NavigationMeshGenerator.
Il singleton NavigationServer2D.
The NavigationServer2DManager singleton.
Il singleton NavigationServer3D.
The NavigationServer3DManager singleton.
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.
Il singleton ThemeDB.
Il singleton Time.
TranslationServer TranslationServer 🔗
Il singleton TranslationServer.
WorkerThreadPool WorkerThreadPool 🔗
Il singleton WorkerThreadPool.
Il singleton XRServer.
Descrizioni dei metodi
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().
Restituisce il valore assoluto del parametro float x (ovvero un numero positivo).
# a è 1.2
var a = absf(-1.2)
Restituisce il valore assoluto del parametro int x (ovvero un numero positivo).
# a è 1
var a = absi(-1)
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)
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.
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)
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
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
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).
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().
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.
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
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
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"
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
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().
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.
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
Restituisce il valore hash intero di variable.
print(hash("a")) # Stampa 177670
GD.Print(GD.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"
public partial class MyNode : Node
{
public string Drink { get; set; } = "water";
public override void _Ready()
{
ulong id = GetInstanceId();
var instance = (MyNode)InstanceFromId(Id);
GD.Print(instance.Drink); // 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.
Restituisce se x è un valore finito, cioè non @GDScript.NAN, infinito positivo, o infinito negativo. Vedi anche is_inf() e is_nan().
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).
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))
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.
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
Restituisce il massimo tra due valori di tipo int.
maxi(1, 2) # Restituisce 2
maxi(-3, -4) # Restituisce -3
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
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
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
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]"
var a = new Godot.Collections.Array { 1, 2, 3 };
GD.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.
GD.PrintRich("[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")
GD.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
GD.PrintRaw("A");
GD.PrintRaw("B");
GD.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"
GD.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"
GD.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.
GD.PushError("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.
GD.PushWarning("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
Restituisce un value casuale in virgola mobile tra 0.0 e 1.0 (inclusi).
randf() # Restituisce ad esempio 0.375671
GD.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
GD.RandRange(0.0, 20.5); // Restituisce ad esempio 7.45315
GD.RandRange(-10.0, 10.0); // 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.
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
GD.Randi(); // Restituisce un intero casuale tra 0 e 2^32 - 1
GD.Randi() % 20; // Restituisce un intero casuale tra 0 e 19
GD.Randi() % 100; // Restituisce un intero casuale tra 0 e 99
GD.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
GD.RandRange(0, 1); // Restituisce 0 o 1
GD.RandRange(-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).
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.
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().
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.
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.
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
ulong mySeed = (ulong)GD.Hash("Godot Rocks");
GD.Seed(mySeed);
var a = GD.Randf() + GD.Randi();
GD.Seed(mySeed);
var b = GD.Randf() + GD.Randi();
// a e b sono ora identici
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().
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
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
Restituisce il seno dell'angolo angle_rad in radianti.
sin(0.523599) # Restituisce 0.5
sin(deg_to_rad(90)) # Restituisce 1.0
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
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.
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
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
string data = "{ \"a\": 1, \"b\": 2 }"; // data è una stringa
var dict = GD.StrToVar(data).AsGodotDictionary(); // dict è un dizionario
GD.Print(dict["a"]); // Stampa 1
Restituisce la tangente dell'angolo angle_rad in radianti.
tan(deg2rad(45)) # Restituisce 1
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))
var a = new Godot.Collections.Dictionary { ["a"] = 1, ["b"] = 2 };
GD.Print(GD.VarToStr(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 Object né null.
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)