Attention: Here be dragons

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

@GlobalScope

Constantes et fonction à portée globale.

Description

Une liste des constantes de portée globale et des fonctions intégrées. Il s'agit de tout ce qui réside au global, les constantes concernant les codes d'erreur, les codes de touche, les indices de propriété, etc.

Les Singletons sont également documentés ici, car ils peuvent être accessibles de n'importe où.

Pour les entrées qui ne peuvent être consultées que dans les scripts écrits en GDScript, voir @GDScript.

Note

Il y a des différences notables dans l'utilisation de cette API en C#. Voir Différences de l'API C# par rapport à GDScript pour plus d'informations.

Tutoriels

Propriétés

AccessibilityServer

AccessibilityServer

AudioServer

AudioServer

CameraServer

CameraServer

ClassDB

ClassDB

DisplayServer

DisplayServer

EditorInterface

EditorInterface

Engine

Engine

EngineDebugger

EngineDebugger

GDExtensionManager

GDExtensionManager

GDScriptLanguageProtocol

GDScriptLanguageProtocol

Geometry2D

Geometry2D

Geometry3D

Geometry3D

IP

IP

Input

Input

InputMap

InputMap

JavaClassWrapper

JavaClassWrapper

JavaScriptBridge

JavaScriptBridge

Marshalls

Marshalls

NativeMenu

NativeMenu

NavigationMeshGenerator

NavigationMeshGenerator

NavigationServer2D

NavigationServer2D

NavigationServer2DManager

NavigationServer2DManager

NavigationServer3D

NavigationServer3D

NavigationServer3DManager

NavigationServer3DManager

OS

OS

Performance

Performance

PhysicsServer2D

PhysicsServer2D

PhysicsServer2DManager

PhysicsServer2DManager

PhysicsServer3D

PhysicsServer3D

PhysicsServer3DManager

PhysicsServer3DManager

ProjectSettings

ProjectSettings

RenderingServer

RenderingServer

ResourceLoader

ResourceLoader

ResourceSaver

ResourceSaver

ResourceUID

ResourceUID

TextServerManager

TextServerManager

ThemeDB

ThemeDB

Time

Time

TranslationServer

TranslationServer

WorkerThreadPool

WorkerThreadPool

XRServer

XRServer

Méthodes

Variant

abs(x: Variant)

float

absf(x: float)

int

absi(x: int)

float

acos(x: float)

float

acosh(x: float)

float

angle_difference(from: float, to: float)

float

asin(x: float)

float

asinh(x: float)

float

atan(x: float)

float

atan2(y: float, x: float)

float

atanh(x: float)

float

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

float

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

Variant

bytes_to_var(bytes: PackedByteArray)

Variant

bytes_to_var_with_objects(bytes: PackedByteArray)

Variant

ceil(x: Variant)

float

ceilf(x: float)

int

ceili(x: float)

Variant

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

float

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

int

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

float

cos(angle_rad: float)

float

cosh(x: float)

float

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

float

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

float

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

float

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

float

db_to_linear(db: float)

float

deg_to_rad(deg: float)

float

ease(x: float, curve: float)

String

error_string(error: int)

float

exp(x: float)

Variant

floor(x: Variant)

float

floorf(x: float)

int

floori(x: float)

float

fmod(x: float, y: float)

float

fposmod(x: float, y: float)

int

hash(variable: Variant)

Object

instance_from_id(instance_id: int)

float

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

bool

is_equal_approx(a: float, b: float)

bool

is_finite(x: float)

bool

is_inf(x: float)

bool

is_instance_id_valid(id: int)

bool

is_instance_valid(instance: Variant)

bool

is_nan(x: float)

bool

is_same(a: Variant, b: Variant)

bool

is_zero_approx(x: float)

Variant

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

float

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

float

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

float

linear_to_db(lin: float)

float

log(x: float)

Variant

max(...) vararg

float

maxf(a: float, b: float)

int

maxi(a: int, b: int)

Variant

min(...) vararg

float

minf(a: float, b: float)

int

mini(a: int, b: int)

float

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

int

nearest_po2(value: int)

float

pingpong(value: float, length: float)

int

posmod(x: int, y: int)

float

pow(base: float, exp: float)

void

print(...) vararg

void

print_rich(...) vararg

void

print_verbose(...) vararg

void

printerr(...) vararg

void

printraw(...) vararg

void

prints(...) vararg

void

printt(...) vararg

void

push_error(...) vararg

void

push_warning(...) vararg

float

rad_to_deg(rad: float)

PackedInt64Array

rand_from_seed(seed: int)

float

randf()

float

randf_range(from: float, to: float)

float

randfn(mean: float, deviation: float)

int

randi()

int

randi_range(from: int, to: int)

void

randomize()

float

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

int

rid_allocate_id()

RID

rid_from_int64(base: int)

float

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

Variant

round(x: Variant)

float

roundf(x: float)

int

roundi(x: float)

void

seed(base: int)

Variant

sign(x: Variant)

float

signf(x: float)

int

signi(x: int)

float

sin(angle_rad: float)

float

sinh(x: float)

float

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

Variant

snapped(x: Variant, step: Variant)

float

snappedf(x: float, step: float)

int

snappedi(x: float, step: int)

float

sqrt(x: float)

int

step_decimals(x: float)

String

str(...) vararg

Variant

str_to_var(string: String)

float

tan(angle_rad: float)

float

tanh(x: float)

Variant

type_convert(variant: Variant, type: int)

String

type_string(type: int)

int

typeof(variable: Variant)

PackedByteArray

var_to_bytes(variable: Variant)

PackedByteArray

var_to_bytes_with_objects(variable: Variant)

String

var_to_str(variable: Variant)

Variant

weakref(obj: Variant)

Variant

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

float

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

int

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


Énumérations

enum Side: 🔗

Side SIDE_LEFT = 0

Côté gauche, généralement utilisé pour les classes dérivées de Control ou StyleBox.

Side SIDE_TOP = 1

Côté haut, généralement utilisé pour les classes dérivées de Control ou StyleBox.

Side SIDE_RIGHT = 2

Côté droit, habituellement utilisé pour les classes dérivées de Control ou StyleBox.

Side SIDE_BOTTOM = 3

Côté haut, habituellement utilisé pour les classes dérivées de Control ou de StyleBox.


enum Corner: 🔗

Corner CORNER_TOP_LEFT = 0

Coin supérieur gauche.

Corner CORNER_TOP_RIGHT = 1

Coin supérieur droit.

Corner CORNER_BOTTOM_RIGHT = 2

Coin inférieur droit.

Corner CORNER_BOTTOM_LEFT = 3

Coin inférieur gauche.


enum Orientation: 🔗

Orientation VERTICAL = 1

Alignement vertical général, généralement utilisé pour les Separator, ScrollBar, Slider, etc.

Orientation HORIZONTAL = 0

Alignement horizontal général, généralement utilisé pour les Separator, ScrollBar, Slider, etc.


enum ClockDirection: 🔗

ClockDirection CLOCKWISE = 0

Rotation horaire. Utilisée par certaines méthodes (e.g. Image.rotate_90()).

ClockDirection COUNTERCLOCKWISE = 1

Rotation anti-horaire. Utilisée par certaines méthodes (e.g. Image.rotate_90()).


enum HorizontalAlignment: 🔗

HorizontalAlignment HORIZONTAL_ALIGNMENT_LEFT = 0

Alignement horizontal à gauche, généralement pour des classes dérivées de texte.

HorizontalAlignment HORIZONTAL_ALIGNMENT_CENTER = 1

Alignement horizontal centre, généralement pour des classes dérivées de texte.

HorizontalAlignment HORIZONTAL_ALIGNMENT_RIGHT = 2

Alignement horizontal droite, généralement pour des classes dérivées de texte.

HorizontalAlignment HORIZONTAL_ALIGNMENT_FILL = 3

Étend la ligne pour faire correspondre à la largeur, habituellement pour les classes de texte.


enum VerticalAlignment: 🔗

VerticalAlignment VERTICAL_ALIGNMENT_TOP = 0

Alignement vertical haut, généralement pour des classes dérivées de texte.

VerticalAlignment VERTICAL_ALIGNMENT_CENTER = 1

Alignement vertical centre, généralement pour des classes dérivées de texte.

VerticalAlignment VERTICAL_ALIGNMENT_BOTTOM = 2

Alignement vertical bas, généralement pour des classes dérivées de texte.

VerticalAlignment VERTICAL_ALIGNMENT_FILL = 3

Étend les lignes pour faire correspondre à la hauteur, habituellement pour les classes de texte.


enum InlineAlignment: 🔗

InlineAlignment INLINE_ALIGNMENT_TOP_TO = 0

Aligne le haut de l'objet incorporé (par ex. image, tableau) à la position du texte spécifié par la constante INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_CENTER_TO = 1

Aligne le centre de l'objet incorporé (par ex. image, tableau) à la position du texte spécifié par la constante INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_BASELINE_TO = 3

Aligne la référence (définie par l'utilisateur) de l'objet incorporé (par ex. image, tableau) à la position du texte spécifié par la constante INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_BOTTOM_TO = 2

Aligne le bas de l'objet incorporé (par ex. image, tableau) à la position du texte spécifié par la constante INLINE_ALIGNMENT_TO_*.

InlineAlignment INLINE_ALIGNMENT_TO_TOP = 0

Aligne la position de l'objet incorporé (par ex. image, tableau) spécifiée par la constante INLINE_ALIGNMENT_*_TO au haut du texte.

InlineAlignment INLINE_ALIGNMENT_TO_CENTER = 4

Aligne la position de l'objet incorporé (par ex. image, tableau) spécifiée par la constante INLINE_ALIGNMENT_*_TO au centre du texte.

InlineAlignment INLINE_ALIGNMENT_TO_BASELINE = 8

Aligne la position de l'objet incorporé (par ex. image, tableau) spécifiée par la constante INLINE_ALIGNMENT_*_TO à la base du texte.

InlineAlignment INLINE_ALIGNMENT_TO_BOTTOM = 12

Aligne l'objet incorporé (par ex. image, tableau) au bas du texte.

InlineAlignment INLINE_ALIGNMENT_TOP = 0

Aligne le haut de l'objet incorporé (par ex. image, tableau) en haut du texte. Équivalent à INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP.

InlineAlignment INLINE_ALIGNMENT_CENTER = 5

Aligne le centre de l'objet incorporé (par ex. image, tableau) au centre du texte. Équivalent à INLINE_ALIGNMENT_CENTER_TO | INLINE_ALIGNMENT_TO_CENTER.

InlineAlignment INLINE_ALIGNMENT_BOTTOM = 14

Aligne le bas de l'objet incorporé (par ex. image, tableau) au bas du texte. Équivalent à INLINE_ALIGNMENT_BOTTOM_TO | INLINE_ALIGNMENT_TO_BOTTOM.

InlineAlignment INLINE_ALIGNMENT_IMAGE_MASK = 3

Un masque de bits pour les constantes d'alignement INLINE_ALIGNMENT_*_TO.

InlineAlignment INLINE_ALIGNMENT_TEXT_MASK = 12

Un masque de bits pour les constantes d'alignement 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

Valeur d'énumération qui ne correspond à aucune touche. Utilisé pour initialiser les propriétés Key à un état générique.

Key KEY_SPECIAL = 4194304

Les codes de touches avec ce bit appliqué ne sont pas affichables.

Key KEY_ESCAPE = 4194305

Touche Échap.

Key KEY_TAB = 4194306

Touche de tabulation.

Key KEY_BACKTAB = 4194307

Touche Maj + Tab.

Key KEY_BACKSPACE = 4194308

Touche de retour arrière.

Key KEY_ENTER = 4194309

Touche Entrée (sur le clavier principal).

Key KEY_KP_ENTER = 4194310

Touche Entrée sur le pavé numérique.

Key KEY_INSERT = 4194311

Touche d'insertion.

Key KEY_DELETE = 4194312

Touche de suppression.

Key KEY_PAUSE = 4194313

Touche Pause.

Key KEY_PRINT = 4194314

Touche d'impression d'écran.

Key KEY_SYSREQ = 4194315

Clé de demande système.

Key KEY_CLEAR = 4194316

Touche d'effacement.

Key KEY_HOME = 4194317

Touche Accueil.

Key KEY_END = 4194318

Touche de fin.

Key KEY_LEFT = 4194319

Touche de la flèche gauche.

Key KEY_UP = 4194320

Touche de la flèche haut.

Key KEY_RIGHT = 4194321

Touche de la flèche droite.

Key KEY_DOWN = 4194322

Touche de la flèche bas.

Key KEY_PAGEUP = 4194323

Touche Page précédente.

Key KEY_PAGEDOWN = 4194324

Touche Page suivante.

Key KEY_SHIFT = 4194325

Touche Shift.

Key KEY_CTRL = 4194326

Touche contrôle.

Key KEY_META = 4194327

Touche méta.

Key KEY_ALT = 4194328

Touche Alt.

Key KEY_CAPSLOCK = 4194329

Touche de verrouillage des majuscules.

Key KEY_NUMLOCK = 4194330

Touche de verrouillage numérique.

Key KEY_SCROLLLOCK = 4194331

Touche de verrouillage du défilement.

Key KEY_F1 = 4194332

Touche F1.

Key KEY_F2 = 4194333

Touche F2.

Key KEY_F3 = 4194334

Touche F3.

Key KEY_F4 = 4194335

Touche F4.

Key KEY_F5 = 4194336

Touche F5.

Key KEY_F6 = 4194337

Touche F6.

Key KEY_F7 = 4194338

Touche F7.

Key KEY_F8 = 4194339

Touche F8.

Key KEY_F9 = 4194340

Touche F9.

Key KEY_F10 = 4194341

Touche F10.

Key KEY_F11 = 4194342

Touche F11.

Key KEY_F12 = 4194343

Touche F12.

Key KEY_F13 = 4194344

Touche F13.

Key KEY_F14 = 4194345

Touche F14.

Key KEY_F15 = 4194346

Touche F15.

Key KEY_F16 = 4194347

Touche F16.

Key KEY_F17 = 4194348

Touche F7.

Key KEY_F18 = 4194349

Touche F8.

Key KEY_F19 = 4194350

Touche F9.

Key KEY_F20 = 4194351

Touche F20.

Key KEY_F21 = 4194352

Touche F21.

Key KEY_F22 = 4194353

Touche F22.

Key KEY_F23 = 4194354

Touche F23.

Key KEY_F24 = 4194355

Touche F24.

Key KEY_F25 = 4194356

Touche F25. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F26 = 4194357

Touche F26. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F27 = 4194358

Touche F27. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F28 = 4194359

Touche F28. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F29 = 4194360

Touche F29. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F30 = 4194361

Touche F30. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F31 = 4194362

Touche F31. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F32 = 4194363

Touche F32. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F33 = 4194364

Touche F33. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F34 = 4194365

Touche F34. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_F35 = 4194366

Touche F35. Supporté uniquement sur macOS et Linux à cause d'une limitation de Windows.

Key KEY_KP_MULTIPLY = 4194433

Touche de multiplication (*) sur le pavé numérique.

Key KEY_KP_DIVIDE = 4194434

Touche de division (/) sur le pavé numérique.

Key KEY_KP_SUBTRACT = 4194435

Touche de soustraction (-) sur le pavé numérique.

Key KEY_KP_PERIOD = 4194436

Touche point (.) sur le pavé numérique.

Key KEY_KP_ADD = 4194437

Touche d'addition (+) sur le pavé numérique.

Key KEY_KP_0 = 4194438

Chiffre 0 sur le pavé numérique.

Key KEY_KP_1 = 4194439

Chiffre 1 sur le pavé numérique.

Key KEY_KP_2 = 4194440

Chiffre 2 sur le pavé numérique.

Key KEY_KP_3 = 4194441

Chiffre 3 sur le pavé numérique.

Key KEY_KP_4 = 4194442

Chiffre 4 sur le pavé numérique.

Key KEY_KP_5 = 4194443

Chiffre 5 sur le pavé numérique.

Key KEY_KP_6 = 4194444

Chiffre 6 sur le pavé numérique.

Key KEY_KP_7 = 4194445

Chiffre 7 sur le pavé numérique.

Key KEY_KP_8 = 4194446

Chiffre 8 sur le pavé numérique.

Key KEY_KP_9 = 4194447

Chiffre 9 sur le pavé numérique.

Key KEY_MENU = 4194370

Touche de menu contextuel.

Key KEY_HYPER = 4194371

Touche Hyper. (Seulement sur Linux/X11).

Key KEY_HELP = 4194373

Touche d’aide.

Key KEY_BACK = 4194376

Touche Retour.

Key KEY_FORWARD = 4194377

Touche avant.

Key KEY_STOP = 4194378

Clé d'arrêt de média.

Key KEY_REFRESH = 4194379

Touche rafraîchissement.

Key KEY_VOLUMEDOWN = 4194380

Touche de réduction du volume.

Key KEY_VOLUMEMUTE = 4194381

Touche de mise en sourdine du volume.

Key KEY_VOLUMEUP = 4194382

Touche d'augmentation du volume.

Key KEY_MEDIAPLAY = 4194388

Clé de lecture de média.

Key KEY_MEDIASTOP = 4194389

Clé d'arrêt de média.

Key KEY_MEDIAPREVIOUS = 4194390

Touche de chanson précédente.

Key KEY_MEDIANEXT = 4194391

Touche de chanson suivante.

Key KEY_MEDIARECORD = 4194392

Clé d’enregistrement de média.

Key KEY_HOMEPAGE = 4194393

Clé de la page d'accueil.

Key KEY_FAVORITES = 4194394

Touche Favoris.

Clé de recherche.

Key KEY_STANDBY = 4194396

Touche de veille.

Key KEY_OPENURL = 4194397

Clé d'ouverture d'URL / Lancement du navigateur.

Key KEY_LAUNCHMAIL = 4194398

Clé de lancement d'e-mail.

Key KEY_LAUNCHMEDIA = 4194399

Clé de lancement de média.

Key KEY_LAUNCH0 = 4194400

Touche de lancement du raccourci 0.

Key KEY_LAUNCH1 = 4194401

Touche de lancement du raccourci 1.

Key KEY_LAUNCH2 = 4194402

Touche de lancement du raccourci 2.

Key KEY_LAUNCH3 = 4194403

Touche de lancement du raccourci 3.

Key KEY_LAUNCH4 = 4194404

Touche de lancement du raccourci 4.

Key KEY_LAUNCH5 = 4194405

Touche de lancement du raccourci 5.

Key KEY_LAUNCH6 = 4194406

Touche de lancement du raccourci 6.

Key KEY_LAUNCH7 = 4194407

Touche de lancement du raccourci 7.

Key KEY_LAUNCH8 = 4194408

Touche de lancement du raccourci 8.

Key KEY_LAUNCH9 = 4194409

Touche de lancement du raccourci 9.

Key KEY_LAUNCHA = 4194410

Touche de lancement du raccourci A.

Key KEY_LAUNCHB = 4194411

Touche de lancement du raccourci B.

Key KEY_LAUNCHC = 4194412

Touche de lancement du raccourci C.

Key KEY_LAUNCHD = 4194413

Touche de lancement du raccourci D.

Key KEY_LAUNCHE = 4194414

Touche de lancement du raccourci E.

Key KEY_LAUNCHF = 4194415

Touche de lancement du raccourci F.

Key KEY_GLOBE = 4194416

Touche "Globe" sur le clavier Mac / iPad.

Key KEY_KEYBOARD = 4194417

Touche "Clavier à l'écran" sur clavier iPad.

Key KEY_JIS_EISU = 4194418

Touche 英数 sur le clavier Mac.

Key KEY_JIS_KANA = 4194419

Touche かな sur le clavier Mac.

Key KEY_UNKNOWN = 8388607

Touché inconnue.

Key KEY_SPACE = 32

Touche espace.

Key KEY_EXCLAM = 33

Touche de point d'exclamation (!).

Key KEY_QUOTEDBL = 34

Touche de guillemets doubles (").

Key KEY_NUMBERSIGN = 35

Touche croisillon (#).

Key KEY_DOLLAR = 36

Touche de symbole dollar ($).

Key KEY_PERCENT = 37

Touche de pourcentage (%).

Key KEY_AMPERSAND = 38

Touche esperluette (&).

Key KEY_APOSTROPHE = 39

Touche apostrophe (').

Key KEY_PARENLEFT = 40

Touche de parenthèse gauche (().

Key KEY_PARENRIGHT = 41

Touche de parenthèse droite (``)``).

Key KEY_ASTERISK = 42

Touche astérisque (*).

Key KEY_PLUS = 43

Touche plus (+).

Key KEY_COMMA = 44

Touche virgule (,).

Key KEY_MINUS = 45

Touche moins (-).

Key KEY_PERIOD = 46

Touche point (.).

Key KEY_SLASH = 47

Touche slash (/).

Key KEY_0 = 48

Touche nombre 0.

Key KEY_1 = 49

Touche nombre 1.

Key KEY_2 = 50

Touche nombre 2.

Key KEY_3 = 51

Touche nombre 3.

Key KEY_4 = 52

Touche nombre 4.

Key KEY_5 = 53

Touche nombre 5.

Key KEY_6 = 54

Touche nombre 6.

Key KEY_7 = 55

Touche nombre 7.

Key KEY_8 = 56

Touche nombre 8.

Key KEY_9 = 57

Touche nombre 9.

Key KEY_COLON = 58

Touche deux-points (:).

Key KEY_SEMICOLON = 59

Touche point-virgule (;).

Key KEY_LESS = 60

Touche de symbole inférieur à (<).

Key KEY_EQUAL = 61

Touche de symbole égal (=).

Key KEY_GREATER = 62

Touche de supérieur à (>).

Key KEY_QUESTION = 63

Touche de point d'interrogation (?).

Key KEY_AT = 64

Touche de symbole arobase (@).

Key KEY_A = 65

Touche A.

Key KEY_B = 66

Touche B.

Key KEY_C = 67

Touche C.

Key KEY_D = 68

Touche D.

Key KEY_E = 69

Touche E.

Key KEY_F = 70

Touche F.

Key KEY_G = 71

Touche G.

Key KEY_H = 72

Touche H.

Key KEY_I = 73

Touche I.

Key KEY_J = 74

Touche J.

Key KEY_K = 75

Touche K.

Key KEY_L = 76

Touche L.

Key KEY_M = 77

Touche M.

Key KEY_N = 78

Touche N.

Key KEY_O = 79

Touche O.

Key KEY_P = 80

Touche P.

Key KEY_Q = 81

Touche Q.

Key KEY_R = 82

Touche R.

Key KEY_S = 83

Touche S.

Key KEY_T = 84

Touche T.

Key KEY_U = 85

Touche U.

Key KEY_V = 86

Touche V.

Key KEY_W = 87

Touche W.

Key KEY_X = 88

Touche X.

Key KEY_Y = 89

Touche Y.

Key KEY_Z = 90

Touche Z.

Key KEY_BRACKETLEFT = 91

Touche crochet gauche ([lb]).

Key KEY_BACKSLASH = 92

Touche antislash (\).

Key KEY_BRACKETRIGHT = 93

Touche crochet droit ([lb]).

Key KEY_ASCIICIRCUM = 94

Touche caret / accent circonflexe (^).

Key KEY_UNDERSCORE = 95

Touche tiret du bas (_).

Key KEY_QUOTELEFT = 96

Touche accent grave (`).

Key KEY_BRACELEFT = 123

Touche accolade gauche ({).

Key KEY_BAR = 124

Touche barre verticale ou pipe (|).

Key KEY_BRACERIGHT = 125

Touche d'accolade droite (}).

Key KEY_ASCIITILDE = 126

Touche tilde (~).

Key KEY_YEN = 165

Touche de symbole du yen (¥).

Key KEY_SECTION = 167

Touche de symbole de paragraphe (§).


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

Réattribué automatiquement à KEY_META sur macOS et KEY_CTRL sur les autres plateformes, ce masque n'est jamais défini dans les événements réels, et devrait être utilisé pour le mapping des touches uniquement.

KeyModifierMask KEY_MASK_SHIFT = 33554432

Masque de la touche Shift.

KeyModifierMask KEY_MASK_ALT = 67108864

Masque de touche Alt ou Option (sur macOS).

KeyModifierMask KEY_MASK_META = 134217728

Masque de touche Commande (sur macOS) ou Meta/Windows.

KeyModifierMask KEY_MASK_CTRL = 268435456

Masque de la touche Ctrl.

KeyModifierMask KEY_MASK_KPAD = 536870912

Masque des touches du clavier.

KeyModifierMask KEY_MASK_GROUP_SWITCH = 1073741824

Masque de l'interrupteur groupe.


enum KeyLocation: 🔗

KeyLocation KEY_LOCATION_UNSPECIFIED = 0

Utilisé pour les touches qui n'apparaissent qu'une fois, ou lorsqu'une comparaison n'a pas besoin de différencier les versions LEFT et RIGHT.

Par exemple, lors de l'utilisation de InputEvent.is_match(), un événement qui a KEY_LOCATION_UNSPECIFIED correspond à toute KeyLocation sur l'événement passé.

KeyLocation KEY_LOCATION_LEFT = 1

Une touche qui est à gauche de son jumeau.

KeyLocation KEY_LOCATION_RIGHT = 2

Une touche qui est à droite de son jumeau.


enum MouseButton: 🔗

MouseButton MOUSE_BUTTON_NONE = 0

Valeur d'énumération qui ne correspond à aucun bouton de souris. Ceci est utilisé pour initialiser les propriétés MouseButton à un état générique.

MouseButton MOUSE_BUTTON_LEFT = 1

Bouton de souris principal, habituellement assigné au bouton gauche.

MouseButton MOUSE_BUTTON_RIGHT = 2

Bouton de souris secondaire, généralement assigné au bouton droit.

MouseButton MOUSE_BUTTON_MIDDLE = 3

Bouton du milieu de la souris.

MouseButton MOUSE_BUTTON_WHEEL_UP = 4

Défilement vers le haut de la molette de la souris.

MouseButton MOUSE_BUTTON_WHEEL_DOWN = 5

Défilement vers le bas de la molette de la souris.

MouseButton MOUSE_BUTTON_WHEEL_LEFT = 6

Bouton gauche de la molette souris (présent uniquement sur certaines souris).

MouseButton MOUSE_BUTTON_WHEEL_RIGHT = 7

Bouton gauche de la molette souris (présent uniquement sur certaines souris).

MouseButton MOUSE_BUTTON_XBUTTON1 = 8

Bouton de souris supplémentaire 1. Présent parfois sur certaines souris, en général sur les côtés.

MouseButton MOUSE_BUTTON_XBUTTON2 = 9

Bouton de souris supplémentaire 2. Présent parfois sur certaines souris, en général sur les côtés.


flags MouseButtonMask: 🔗

MouseButtonMask MOUSE_BUTTON_MASK_LEFT = 1

Masque de bouton de souris principal, habituellement pour le bouton gauche.

MouseButtonMask MOUSE_BUTTON_MASK_RIGHT = 2

Masque du bouton secondaire de la souris, habituellement pour le bouton droit.

MouseButtonMask MOUSE_BUTTON_MASK_MIDDLE = 4

Masque du bouton central de la souris.

MouseButtonMask MOUSE_BUTTON_MASK_MB_XBUTTON1 = 128

Masque du bouton supplémentaire de la souris 1.

MouseButtonMask MOUSE_BUTTON_MASK_MB_XBUTTON2 = 256

Masque du bouton supplémentaire de la souris 2.


enum JoyButton: 🔗

JoyButton JOY_BUTTON_INVALID = -1

Un bouton de manette invalide.

JoyButton JOY_BUTTON_A = 0

Bouton A de manette SDL. Correspond au bouton d'action inférieur : Croix de Sony, A de Xbox, B de Nintendo.

JoyButton JOY_BUTTON_B = 1

Bouton B de manette SDL. Correspond au bouton d'action droit : Cercle de Sony, B de Xbox, A de Nintendo.

JoyButton JOY_BUTTON_X = 2

Bouton X de manette SDL. Correspond au bouton d'action gauche : Carré de Sony, X de Xbox, Y de Nintendo.

JoyButton JOY_BUTTON_Y = 3

Bouton Y de manette SDL. Correspond au bouton d'action haut : Triangle de Sony, Y de Xbox, X de Nintendo.

JoyButton JOY_BUTTON_BACK = 4

Bouton retour de manette SDL. Correspond au bouton Select de Sony, Back de Xbox, - de Nintendo.

JoyButton JOY_BUTTON_GUIDE = 5

Bouton guide de manette SDL. Correspond au bouton PS de Sony, Home de Xbox.

JoyButton JOY_BUTTON_START = 6

Bouton start de manette SDL. Correspond au bouton Options de Sony, Menu de Xbox, + de Nintendo.

JoyButton JOY_BUTTON_LEFT_STICK = 7

Bouton stick gauche de manette SDL. Correspond au bouton L3 de Sony, L/LS de Xbox.

JoyButton JOY_BUTTON_RIGHT_STICK = 8

Bouton stick droit de manette SDL. Correspond au bouton R3 de Sony, R/RS de Xbox.

JoyButton JOY_BUTTON_LEFT_SHOULDER = 9

Bouton d'épaule gauche de manette SDL. Correspond au bouton L1 de Sony, LB de Xbox.

JoyButton JOY_BUTTON_RIGHT_SHOULDER = 10

Bouton d'épaule droit de manette SDL. Correspond au bouton R1 de Sony, RB de Xbox.

JoyButton JOY_BUTTON_DPAD_UP = 11

Bouton haut d'un pavé directionnel de contrôleur de jeu.

JoyButton JOY_BUTTON_DPAD_DOWN = 12

Bouton bas d'un pavé directionnel de contrôleur de jeu.

JoyButton JOY_BUTTON_DPAD_LEFT = 13

Bouton gauche d'un pavé directionnel de contrôleur de jeu.

JoyButton JOY_BUTTON_DPAD_RIGHT = 14

Bouton droite d'un pavé directionnel de contrôleur de jeu.

JoyButton JOY_BUTTON_MISC1 = 15

Bouton divers de manette SDL. Correspond au bouton share de Xbox, microphone de PS5, capture de Nintendo Switch.

JoyButton JOY_BUTTON_PADDLE1 = 16

Bouton de palette 1 de manette SDL.

JoyButton JOY_BUTTON_PADDLE2 = 17

Bouton de palette 2 de manette SDL.

JoyButton JOY_BUTTON_PADDLE3 = 18

Bouton de palette 3 de manette SDL.

JoyButton JOY_BUTTON_PADDLE4 = 19

Bouton de palette 4 de manette SDL.

JoyButton JOY_BUTTON_TOUCHPAD = 20

Bouton de pavé tactile de manette 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

Le nombre de boutons de manette SDL.

JoyButton JOY_BUTTON_MAX = 128

Le nombre maximum de boutons de contrôleurs de jeu supporté par le moteur. La limite réelle peut être plus basse sur des plateformes spécifiques :

  • **Android : **Jusqu'à 36 boutons.

  • **Linux : **Jusqu'à 80 boutons.

  • Windows et macOS : Jusqu'à 128 boutons.


enum JoyAxis: 🔗

JoyAxis JOY_AXIS_INVALID = -1

Un axe de manette invalide.

JoyAxis JOY_AXIS_LEFT_X = 0

Axe X du joystick gauche de manette.

JoyAxis JOY_AXIS_LEFT_Y = 1

Axe Y du joystick gauche de manette.

JoyAxis JOY_AXIS_RIGHT_X = 2

Axe X du joystick droit de manette.

JoyAxis JOY_AXIS_RIGHT_Y = 3

Axe Y du joystick droit de manette.

JoyAxis JOY_AXIS_TRIGGER_LEFT = 4

Axe de la gâchette gauche de manette.

JoyAxis JOY_AXIS_TRIGGER_RIGHT = 5

Axe de la gâchette droite de manette.

JoyAxis JOY_AXIS_SDL_MAX = 6

Le nombre d'axes de manette SDL.

JoyAxis JOY_AXIS_MAX = 10

Le nombre maximum d'axes de manette : OpenVR supporte jusqu'à 5 joysticks pour un total de 10 axes.


enum MIDIMessage: 🔗

MIDIMessage MIDI_MESSAGE_NONE = 0

Ne correspond à aucun message MIDI. C'est la valeur par défaut de InputEventMIDI.message.

MIDIMessage MIDI_MESSAGE_NOTE_OFF = 8

Message MIDI envoyé lorsqu'une note est relâchée.

Note : Tous les périphériques MIDI n'envoient pas ce message, certains peuvent envoyer MIDI_MESSAGE_NOTE_ON avec InputEventMIDI.velocity défini à 0.

MIDIMessage MIDI_MESSAGE_NOTE_ON = 9

Message MIDI envoyé quand une note est appuyée.

MIDIMessage MIDI_MESSAGE_AFTERTOUCH = 10

Message MIDI envoyé pour indiquer un changement de pression pendant qu'une note est pressée, également appelée aftertouch.

MIDIMessage MIDI_MESSAGE_CONTROL_CHANGE = 11

Message MIDI envoyé quand une valeur de contrôleur change. Dans un appareil MIDI, un contrôleur est toute entrée qui ne joue pas de notes. Elles peuvent inclure des curseurs pour le volume, l'équilibre et le pannage, ainsi que des interrupteurs et des pédales. Voir Spécification MIDI générale pour une petite liste.

MIDIMessage MIDI_MESSAGE_PROGRAM_CHANGE = 12

Message MIDI envoyé lorsque l'appareil MIDI modifie son instrument actuel (également appelé program ou preset).

MIDIMessage MIDI_MESSAGE_CHANNEL_PRESSURE = 13

Message MIDI envoyé pour indiquer un changement de pression pour l'ensemble du canal. Certains périphériques MIDI peuvent envoyer ceci au lieu de MIDI_MESSAGE_AFTERTOUCH.

MIDIMessage MIDI_MESSAGE_PITCH_BEND = 14

Message MIDI envoyé lorsque la valeur du Pitch Bend change, généralement une roue sur l'appareil MIDI.

MIDIMessage MIDI_MESSAGE_SYSTEM_EXCLUSIVE = 240

Message exclusif au système MIDI (SysEX). Ce type de message n'est pas standardisé et il est fortement dépendant de l'appareil MIDI qui l'envoie.

Note : Obtenir les données de ce message depuis InputEventMIDI n'est pas implémenté.

MIDIMessage MIDI_MESSAGE_QUARTER_FRAME = 241

Le message MIDI envoyé à chaque quart de trame pour garder les périphériques MIDI connectés synchronisés. Lié avec MIDI_MESSAGE_TIMING_CLOCK.

Note : Obtenir les données de ce message depuis InputEventMIDI n'est pas implémenté.

MIDIMessage MIDI_MESSAGE_SONG_POSITION_POINTER = 242

Message MIDI envoyé pour sauter vers une nouvelle position dans la séquence ou la chanson courante.

Note : Obtenir les données de ce message depuis InputEventMIDI n'est pas implémenté.

MIDIMessage MIDI_MESSAGE_SONG_SELECT = 243

Message MIDI envoyé pour sélectionner une séquence ou une chanson à jouer.

**Note : ** Obtenir les données de ce message depuis InputEventMIDI n'est pas implémenté.

MIDIMessage MIDI_MESSAGE_TUNE_REQUEST = 246

Message MIDI envoyé pour demander un calibrage d'accord. Utilisé sur les synthétiseurs analogiques. La plupart des appareils MIDI modernes n'ont pas besoin de ce message.

MIDIMessage MIDI_MESSAGE_TIMING_CLOCK = 248

Message MIDI envoyé 24 fois après MIDI_MESSAGE_QUARTER_FRAME, pour garder les périphériques MIDI connectés synchronisés.

MIDIMessage MIDI_MESSAGE_START = 250

Message MIDI envoyé pour démarrer la séquence ou la chanson courante dès le début.

MIDIMessage MIDI_MESSAGE_CONTINUE = 251

Message MIDI envoyé pour reprendre à partir du moment où la séquence ou la chanson actuelle a été mise en pause.

MIDIMessage MIDI_MESSAGE_STOP = 252

Message MIDI envoyé pour mettre en pause la séquence ou la chanson courante.

MIDIMessage MIDI_MESSAGE_ACTIVE_SENSING = 254

Message MIDI envoyé de manière répétée pendant que le périphérique MIDI est inactif, pour dire au récepteur que la connexion est vivante. La plupart des périphériques MIDI n'envoient pas ce message.

MIDIMessage MIDI_MESSAGE_SYSTEM_RESET = 255

Message MIDI envoyé pour réinitialiser un périphérique MIDI à son état par défaut, comme s'il venait de s'allumer. Il ne devrait pas être envoyé lorsque l'appareil MIDI est activé.


enum Error: 🔗

Error OK = 0

Les méthodes qui renvoient Error renvoient OK lorsqu'aucune erreur ne s'est produite.

Puisque OK a la valeur 0 et que tous les autres constantes d'échec sont des entiers positifs, il peut également être utilisé comme un booléen.

var error = method_that_returns_error()
if error!= OK:
    print ("Échec !")

# Ou sinon :
if error:
    print ("Échec encore !")

Note : De nombreuses fonctions ne renvoient pas de code d'erreur mais affichent des messages d'erreur sur la sortie standard.

Error FAILED = 1

Erreur générique.

Error ERR_UNAVAILABLE = 2

Erreur indisponible.

Error ERR_UNCONFIGURED = 3

Erreur non configurée.

Error ERR_UNAUTHORIZED = 4

Erreur non autorisée.

Error ERR_PARAMETER_RANGE_ERROR = 5

Erreur de plage de paramètres.

Error ERR_OUT_OF_MEMORY = 6

Erreur de mémoire insuffisante (OOM).

Error ERR_FILE_NOT_FOUND = 7

Fichier : Erreur non trouvée.

Error ERR_FILE_BAD_DRIVE = 8

Fichier : Erreur de lecteur.

Error ERR_FILE_BAD_PATH = 9

Fichier : Erreur de chemin d’accès.

Error ERR_FILE_NO_PERMISSION = 10

Fichier : Erreur d'absence de permission.

Error ERR_FILE_ALREADY_IN_USE = 11

Fichier : Erreur, fichier déjà en usage.

Error ERR_FILE_CANT_OPEN = 12

Fichier : Erreur d'impossibilité d'ouverture.

Error ERR_FILE_CANT_WRITE = 13

Fichier : Erreur d'écriture.

Error ERR_FILE_CANT_READ = 14

Fichier : Erreur de lecture.

Error ERR_FILE_UNRECOGNIZED = 15

Fichier : Erreur non reconnue.

Error ERR_FILE_CORRUPT = 16

Fichier : Erreur de corruption.

Error ERR_FILE_MISSING_DEPENDENCIES = 17

Fichier : Erreur de dépendances manquantes.

Error ERR_FILE_EOF = 18

Fichier : Erreur fin de fichier(EOF).

Error ERR_CANT_OPEN = 19

Erreur d'ouverture.

Error ERR_CANT_CREATE = 20

Erreur de création.

Error ERR_QUERY_FAILED = 21

Erreur d'échec de la requête.

Error ERR_ALREADY_IN_USE = 22

Erreur quand déjà utilisé.

Error ERR_LOCKED = 23

Erreur verrouillée.

Error ERR_TIMEOUT = 24

Erreur de délai d’expiration.

Error ERR_CANT_CONNECT = 25

Erreur de connexion.

Error ERR_CANT_RESOLVE = 26

Erreur de résolution.

Error ERR_CONNECTION_ERROR = 27

Erreur de connexion.

Error ERR_CANT_ACQUIRE_RESOURCE = 28

Erreur d'acquisition de ressource.

Error ERR_CANT_FORK = 29

Erreur d'embranchement de processus.

Error ERR_INVALID_DATA = 30

Erreur de données invalides.

Error ERR_INVALID_PARAMETER = 31

Erreur de paramètre invalide.

Error ERR_ALREADY_EXISTS = 32

Erreur de préexistence.

Error ERR_DOES_NOT_EXIST = 33

Erreur de non existence.

Error ERR_DATABASE_CANT_READ = 34

Base de données : Erreur de lecture.

Error ERR_DATABASE_CANT_WRITE = 35

Base de données : Erreur d'écriture.

Error ERR_COMPILATION_FAILED = 36

Erreur d’échec de la compilation.

Error ERR_METHOD_NOT_FOUND = 37

Erreur de méthode non trouvée.

Erreur de liaison échouée.

Error ERR_SCRIPT_FAILED = 39

Erreur d'échec de script.

Erreur de lien cyclique (cycle d'importation).

Error ERR_INVALID_DECLARATION = 41

Erreur de déclaration non valide.

Error ERR_DUPLICATE_SYMBOL = 42

Erreur de symbole dupliqué.

Error ERR_PARSE_ERROR = 43

Erreur d’analyse syntaxique.

Error ERR_BUSY = 44

Erreur d'occupation.

Error ERR_SKIP = 45

Ignorer l'erreur.

Error ERR_HELP = 46

Erreur d'aide. Utilisé de manière interne lors du passage de --version ou --help comme options exécutables.

Error ERR_BUG = 47

Erreur de bogue, causée par un problème d'implémentation dans la méthode.

Note : Si une méthode intégrée renvoie ce code, veuillez ouvrir un sujet sur l'Issue Tracker de 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

Indique qu'une propriété d'un entier int ou une chaine de caractères String est une valeur d'énumération à choisir dans une liste spécifiée par une chaîne d'indice.

Cette chaîne d'indice est une liste séparée par des virgules de noms tels que "Bonjour,Salut,Autre". Les espace **ne sont pas ** supprimés du début ou de la fin d'un nom. Pour les propriétés d'entiers, le premier nom de la liste a valeur 0, le suivant 1, et ainsi de suite. Des valeurs explicites peuvent également être spécifiées en ajoutant :integer au nom, par ex. "Zéro,Un,Trois:3,Quatre,Six:6".

PropertyHint PROPERTY_HINT_ENUM_SUGGESTION = 3

Conseils qu'une propriété String peut être une valeur d'énumération parmi une liste spécifiée via une chaîne de caractères d'indice telle que "Bonjour,Salut,Autre".

Contrairement à PROPERTY_HINT_ENUM, une propriété avec cet indice accepte toujours des valeurs arbitraires et peut-être vide. La liste des valeurs permet donc de suggérer des valeurs possibles.

PropertyHint PROPERTY_HINT_EXP_EASING = 4

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

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

PropertyHint PROPERTY_HINT_FLAGS = 6

Indique qu'une propriété int est un masque de bits avec des drapeaux bits nommés.

La chaîne d'indice est une liste de noms séparée par des virgules telles que "Bit0,Bit1,Bit2,Bit3". Les espaces blancs **ne sont pas ** retirés de chaque extrémité d'un nom. Le premier nom de la liste a la valeur 1, le 2 suivants, puis 4, 8, 16 et ainsi de suite. Des valeurs explicites peuvent également être spécifiées en ajoutant :integer au nom, par exemple "A:4,B:8,C:16". Vous pouvez également combiner plusieurs drapeaux ("A:4,B:8,AB:12,C:16").

Note : Une valeur de drapeau doit être au moins 1 et au plus 2 ** 32 - 1.

Note : Contrairement à PROPERTY_HINT_ENUM, la valeur explicite précédente n'est pas prise en compte. Pour l'indice "A:16,B,C", A est 16, B est 2, C est 4.

PropertyHint PROPERTY_HINT_LAYERS_2D_RENDER = 7

Indique qu'une propriété de nombre entier (int) est un masque de bits utilisant les couches de rendu 2D optionnellement nommées.

PropertyHint PROPERTY_HINT_LAYERS_2D_PHYSICS = 8

Indique qu'une propriété de nombre entier (int) est un masque de bits utilisant les couches de physique 2D optionnellement nommées.

PropertyHint PROPERTY_HINT_LAYERS_2D_NAVIGATION = 9

Indique qu'une propriété de nombre entier (int) est un masque de bits utilisant les couches de navigation 2D optionnellement nommées.

PropertyHint PROPERTY_HINT_LAYERS_3D_RENDER = 10

Indique qu'une propriété de nombre entier (int) est un masque de bits utilisant les couches de rendu 3D optionnellement nommées.

PropertyHint PROPERTY_HINT_LAYERS_3D_PHYSICS = 11

Indique qu'une propriété de nombre entier (int) est un masque de bits utilisant les couches de physique 3D optionnellement nommées.

PropertyHint PROPERTY_HINT_LAYERS_3D_NAVIGATION = 12

Indique qu'une propriété de nombre entier (int) est un masque de bits utilisant les couches de navigation 3D optionnellement nommées.

PropertyHint PROPERTY_HINT_LAYERS_AVOIDANCE = 37

Indique qu'une propriété d'entier est un masque de bits utilisant des calques d'évitement qui peuvent être nommés.

PropertyHint PROPERTY_HINT_FILE = 13

Indique qu'une propriété chaîne de caractères String est un chemin d'accès à un fichier. En l'éditant, une boîte de dialogue de fichier apparaîtra pour choisir le chemin. Le texte de l'indice peut être un ensemble de filtres avec des caractères génériques, comme "*.png,*.jpg". Par défaut, le fichier sera stocké en tant qu'UID si possible. Vous pouvez utiliser les méthodes de ResourceUID pour le reconvertir en chemin. Pour stocker un chemin brut, utilisez PROPERTY_HINT_FILE_PATH.

PropertyHint PROPERTY_HINT_DIR = 14

Indique qu'une propriété chaîne de caractères String est un chemin d'accès à un répertoire. En l'éditant, une boîte de dialogue de fichier apparaîtra pour choisir le chemin.

PropertyHint PROPERTY_HINT_GLOBAL_FILE = 15

Indique qu'une propriété de chaîne de caractères String est un chemin d'accès absolu à un fichier en dehors du répertoire du projet. En l'éditant, une boîte de dialogue de fichier apparaîtra pour choisir le chemin. Le texte de l'indice peut être un ensemble de filtres avec des caractères génériques, comme "*.png,*.jpg".

PropertyHint PROPERTY_HINT_GLOBAL_DIR = 16

Indice que la propriété d'une chaîne de caractères String est un chemin d'accès absolu à un fichier en dehors du répertoire du projet. En l'éditant, une boîte de dialogue de fichier apparaîtra pour choisir le chemin.

PropertyHint PROPERTY_HINT_RESOURCE_TYPE = 17

Indice que la propriété est une instance d'un type dérivé de Resource, spécifie optionnellement via le texte de l'indice (e.g. "Texture2D") En l'éditant, un menu contextuel apparaîtra avec les types de ressources valides à instancier.

PropertyHint PROPERTY_HINT_MULTILINE_TEXT = 18

Indique qu’une propriété String est du texte avec des sauts de ligne. La modifier affichera un champ de saisie de texte où les sauts de ligne peuvent être tapés.

La chaîne d’indice peut être définie sur ``"monospace" `` pour forcer le champ de saisie à utiliser une police à espacement fixe.

Si la chaîne d’indice "no_wrap" est définie, le champ de saisie n’enroulera pas les lignes aux limites, au lieu de rendre la zone d'enroulable.

PropertyHint PROPERTY_HINT_EXPRESSION = 19

Indique qu'une propriété String est une Expression.

PropertyHint PROPERTY_HINT_PLACEHOLDER_TEXT = 20

Indique qu'une propriété chaîne de caractères String devrait afficher un texte générique visible dans son champ de saisie quand le propriété est vide. La chaîne de l'indice est le texte générique à utiliser.

PropertyHint PROPERTY_HINT_COLOR_NO_ALPHA = 21

Indique qu'une propriété couleur Color devrait être éditée sans changer sa transparence (Color.a n'est pas éditable).

PropertyHint PROPERTY_HINT_OBJECT_ID = 22

Indique que la valeur de la propriété est un objet encodé comme un ID d'objet, avec son type spécifié dans la chaîne indice. Utilisé par le débogueur.

PropertyHint PROPERTY_HINT_TYPE_STRING = 23

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

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

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

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

Examples:

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

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

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

PropertyHint PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE = 24

Obsolète : This hint is not used by the engine.

PropertyHint PROPERTY_HINT_OBJECT_TOO_BIG = 25

Indique d'un objet est trop gros pour être envoyé via le débugueur.

PropertyHint PROPERTY_HINT_NODE_PATH_VALID_TYPES = 26

Indique que la chaine-indice spécifie des types de nœud valides pour la propriété de type NodePath.

PropertyHint PROPERTY_HINT_SAVE_FILE = 27

Indique qu'une propriété chaîne de caractères String est un chemin d'accès à un fichier. En l'éditant, une boîte de dialogue de fichier apparaîtra pour choisir le chemin où sauvegarder le fichier. La fenêtre a accès au répertoire du projet. Le texte de l'indice peut être un ensemble de filtres avec des caractères génériques, comme "*.png,*.jpg".

PropertyHint PROPERTY_HINT_GLOBAL_SAVE_FILE = 28

Indique qu'une propriété chaîne de caractères String est un chemin d'accès à un fichier. En l'éditant, une boîte de dialogue de fichier apparaîtra pour choisir le chemin où sauvegarder le fichier. La fenêtre a accès au système de fichiers complet. Le texte de l'indice peut être un ensemble de filtres avec des caractères génériques, comme "*.png,*.jpg". Voir aussi FileDialog.filters.

PropertyHint PROPERTY_HINT_INT_IS_OBJECTID = 29

Obsolète : This hint is not used by the engine.

PropertyHint PROPERTY_HINT_INT_IS_POINTER = 30

Indique qu'une propriété int est un pointeur. Utilisé par GDExtension.

PropertyHint PROPERTY_HINT_ARRAY_TYPE = 31

Indique qu'une propriété est un Array avec le type stocké spécifié dans la chaîne d'indice. La chaîne d'indice contient le type du tableau (par exemple "String").

Utilisez le format de chaîne d'indice de PROPERTY_HINT_TYPE_STRING pour plus de contrôle sur le type stocké.

PropertyHint PROPERTY_HINT_DICTIONARY_TYPE = 38

Indique qu'une propriété est un Dictionary avec le type stocké spécifié dans la chaîne d'indice. La chaîne d'indice contient les types de la clé et de la valeur séparés par un point-virgule (par exemple "int;String).

Utilisez le format de chaîne d'indice de PROPERTY_HINT_TYPE_STRING pour plus de contrôle sur les types stockés.

PropertyHint PROPERTY_HINT_LOCALE_ID = 32

Indique qu'une propriété de chaîne de caractères est un code de langue. En l'éditant, une boîte de dialogue de paramètres régionaux apparaîtra pour choisir la langue et le pays.

PropertyHint PROPERTY_HINT_LOCALIZABLE_STRING = 33

Indique qu'une propriété dictionnaire est une carte de traduction de chaîne de caractères. Les clés du dictionnaire sont des code de langue et les valeurs les chaînes traduites.

PropertyHint PROPERTY_HINT_NODE_TYPE = 34

Indique que la propriété est une instance d'un type dérivé de Node, spécifié optionnellement via le texte de l'indice (e.g. "Node2D") En l'éditant, un boîte de dialogue apparaîtra pour choisir un nœud dans la scène.

PropertyHint PROPERTY_HINT_HIDE_QUATERNION_EDIT = 35

Indique qu'une propriété quaternion devrait désactiver l'éditeur temporaire d'angles d'Euler.

PropertyHint PROPERTY_HINT_PASSWORD = 36

Indique qu'une propriété de chaine de caractères est un mot de passe, et que chaque caractère est remplacé par le caractère secret.

PropertyHint PROPERTY_HINT_TOOL_BUTTON = 39

Indique qu'une propriété Callable devrait être affichée comme un bouton cliquable. Quand le bouton est appuyé, la fonction est appelé. La chaîne de caractères d'indice spécifie le texte du bouton et, optionnellement, une icône de type de thème "EditorIcons".

"Cliquer moi!" - Un bouton avec le texte "Cliquer moi!" et l'icône "Callable" par défaut.
"Cliquer moi!,ColorRect" - Un bouton avec le texte "Cliquer moi!" et l'icône "ColorRect".

Note: Un Callable ne peut être correctement sérialisé et sauvegardé dans un fichier, donc il est recommandé d'utiliser PROPERTY_USAGE_EDITOR plutôt que PROPERTY_USAGE_DEFAULT.

PropertyHint PROPERTY_HINT_ONESHOT = 40

Indique qu'une propriété sera changée toute seule après sa définition, comme pour AudioStreamPlayer.playing ou GPUParticles3D.emitting.

PropertyHint PROPERTY_HINT_GROUP_ENABLE = 42

Indique qu'une propriété booléenne va activer la fonctionnalité associée au groupe dans lequel elle se produit. La propriété sera affichée comme une case à cocher dans l'en-tête du groupe. Marche seulement dans un groupe ou sous-groupe.

Par défaut, désactiver cette propriété cache toutes les propriétés dans le groupe. Utilisez la chaîne d'indice optionnelle "checkbox_only" pour désactiver ce comportement.

PropertyHint PROPERTY_HINT_INPUT_NAME = 43

Indique qu'une propriété String ou StringName est le nom d'une action d'entrée. Cela permet de sélectionner n'importe quel nom d'action de la carte des entrées dans les paramètres du projet. La chaîne d'indice peut contenir deux options séparées par des virgules :

  • Si elle contient "show_builtin", les actions d'entrée intégrées sont incluses dans la sélection.

  • Si elle contient "loose_mode", le mode libre est activé. Cela permet d'insérer tout nom d'action même s'il n'est pas présent dans la carte des entrées.

PropertyHint PROPERTY_HINT_FILE_PATH = 44

Comme PROPERTY_HINT_FILE, mais la propriété est stockée en tant que chemin brut, et non un UID. Cela signifie que la référence sera brisée si vous déplacez le fichier. Envisagez d'utiliser PROPERTY_HINT_FILE si possible.

PropertyHint PROPERTY_HINT_MAX = 45

Représente la taille de l'énumération PropertyHint.


flags PropertyUsageFlags: 🔗

PropertyUsageFlags PROPERTY_USAGE_NONE = 0

La propriété n'est pas enregistrée, et ne s'affiche pas dans l'éditeur. C'est le comportement par défaut des propriétés non-exportées.

PropertyUsageFlags PROPERTY_USAGE_STORAGE = 2

Le propriété est sérialisée et sauvegardée dans le fichier de la scène (défaut pour les propriétés exportées).

PropertyUsageFlags PROPERTY_USAGE_EDITOR = 4

Le propriété est affichée dans l'inspecteur de l'éditeur EditorInspector (défaut pour les propriétés exportées).

PropertyUsageFlags PROPERTY_USAGE_INTERNAL = 8

La propriété est exclue de la référence de classe.

PropertyUsageFlags PROPERTY_USAGE_CHECKABLE = 16

La propriété peut être cochée dans l'inspecteur de l'éditeur EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_CHECKED = 32

La propriété est cochée dans l'inspecteur de l'éditeur EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_GROUP = 64

Utilisé pour rassembler des propriétés ensemble dans l'éditeur. Voir EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_CATEGORY = 128

Utilisé pour classer des propriétés ensemble dans l'éditeur.

PropertyUsageFlags PROPERTY_USAGE_SUBGROUP = 256

Utilisé pour rassembler des propriétés ensemble dans l'éditeur (sous un groupe). Voir EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_CLASS_IS_BITFIELD = 512

La propriété est un champ de bits, c'est-à-dire elle contient plusieurs drapeaux représentés par des bits.

PropertyUsageFlags PROPERTY_USAGE_NO_INSTANCE_STATE = 1024

La propriété ne sauvegarde pas son état dans PackedScene.

PropertyUsageFlags PROPERTY_USAGE_RESTART_IF_CHANGED = 2048

Éditer la propriété incite à l'utilisateur de redémarrer l'éditeur.

PropertyUsageFlags PROPERTY_USAGE_SCRIPT_VARIABLE = 4096

La propriété est une variable de script. PROPERTY_USAGE_SCRIPT_VARIABLE peut être utilisé pour distinguer entre les variables de script exportées des variables intégrées (qui n'ont pas ce drapeau d'utilisation). Par défaut, PROPERTY_USAGE_SCRIPT_VARIABLE n'est pas appliqué aux variables qui sont créées par la redéfinition de Object._get_property_list() dans un script.

PropertyUsageFlags PROPERTY_USAGE_STORE_IF_NULL = 8192

La valeur de la propriété de type Object sera enregistrée même si sa valeur est null.

PropertyUsageFlags PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED = 16384

Si cette propriété est modifiée, tous les champs de l'inspecteur seront rafraichis.

PropertyUsageFlags PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE = 32768

Obsolète : This flag is not used by the engine.

PropertyUsageFlags PROPERTY_USAGE_CLASS_IS_ENUM = 65536

La propriété est une variable de type enum, c'est-à-dire qu'elle ne prend que des constantes entières nommées de son énumération associée.

PropertyUsageFlags PROPERTY_USAGE_NIL_IS_VARIANT = 131072

Si la propriété a nil comme valeur par défaut, son type sera Variant.

PropertyUsageFlags PROPERTY_USAGE_ARRAY = 262144

La propriété est le nombre d’éléments d’un tableau de propriétés, c’est-à-dire une liste de groupes de propriétés liées. Les propriétés définies avec cet usage nécessitent également un champ spécifique class_name sous la forme de label,prefix. Le champ peut également inclure des options supplémentaires séparées par des virgules :

  • page_size=N : Remplace EditorSettings.interface/inspector/max_array_dictionary_items_per_page pour ce tableau.

  • add_button_text=text : Le texte affiché par le bouton "Ajouter un élément".

  • static : Les éléments ne peuvent pas être réarrangés.

  • const : Les nouveaux éléments ne peuvent pas être ajoutés.

  • numbered : Un index apparaîtra à côté de chaque élément.

  • unfoldable : Le tableau ne peut pas être plié.

  • swap_method=method_name : La méthode qui sera appelée lorsque deux éléments changent de place. La méthode devrait prendre 2 int paramètres, qui seront des indices des éléments échangés.

Notez que la création d’un tableau de propriétés à part entière nécessite du code standard impliquant Object._get_property_list().

PropertyUsageFlags PROPERTY_USAGE_ALWAYS_DUPLICATE = 524288

Lorsque l'on duplique une ressource avec Resource.duplicate(), et ce drapeau est placé sur une propriété de cette ressource, la propriété doit toujours être dupliquée, peu importe le paramètre booléen subresources.

PropertyUsageFlags PROPERTY_USAGE_NEVER_DUPLICATE = 1048576

Lorsque l'on duplique une ressource avec Resource.duplicate(), et ce drapeau est placé sur une propriété de cette ressource, la propriété ne doit jamais être dupliquée, peu importe le paramètre booléen subresources.

PropertyUsageFlags PROPERTY_USAGE_HIGH_END_GFX = 2097152

Le propriété est seulement montrée dans l'éditeur si les moteurs de rendu modernes sont supportés (le méthode de rendu Compatibilité est exclue).

PropertyUsageFlags PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT = 4194304

La propriété NodePath sera toujours relative à la racine de la scène. Généralement utile pour les ressources locales.

PropertyUsageFlags PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT = 8388608

Utilisez quand une ressource est créée à la volée, c'est-à-dire que le getter renverra toujours une instance différente. ResourceSaver a besoin de cette information pour sauvegarder correctement ces ressources.

PropertyUsageFlags PROPERTY_USAGE_KEYING_INCREMENTS = 16777216

Insérer une trame de clé d'animation de cette propriété incrémentera automatiquement la valeur, permettant d'animer facilement plusieurs valeurs à la suite.

PropertyUsageFlags PROPERTY_USAGE_DEFERRED_SET_RESOURCE = 33554432

Obsolète : This flag is not used by the engine.

PropertyUsageFlags PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT = 67108864

Lorsque cette propriété est une Resource et l'objet de base est un Node, une instance de la ressource sera automatiquement créée lorsque le nœud est créé dans l'éditeur.

PropertyUsageFlags PROPERTY_USAGE_EDITOR_BASIC_SETTING = 134217728

La propriété est considérée comme un réglage de base et apparaîtra même lorsque le mode avancé est désactivé. Utilisé pour les réglages de projet.

PropertyUsageFlags PROPERTY_USAGE_READ_ONLY = 268435456

La propriété est en lecture seule dans l'inspecteur de l'éditeur EditorInspector.

PropertyUsageFlags PROPERTY_USAGE_SECRET = 536870912

Une propriété de préréglage d'export avec ce drapeau contient des informations confidentielles et est stockée séparément du reste de la configuration du préréglage d'export.

PropertyUsageFlags PROPERTY_USAGE_DEFAULT = 6

Utilisation par défaut (stockage et éditeur).

PropertyUsageFlags PROPERTY_USAGE_NO_EDITOR = 2

Utilisation par défaut mais sans l'affichage de la propriété dans l'éditeur (stockage).


flags MethodFlags: 🔗

MethodFlags METHOD_FLAG_NORMAL = 1

Indicateur pour une méthode normale.

MethodFlags METHOD_FLAG_EDITOR = 2

Indicateur pour une méthode d'édition.

MethodFlags METHOD_FLAG_CONST = 4

Indicateur pour une méthode constante.

MethodFlags METHOD_FLAG_VIRTUAL = 8

Indicateur pour une méthode virtuelle.

MethodFlags METHOD_FLAG_VARARG = 16

Indicateur pour une méthode avec un nombre variable d'arguments.

MethodFlags METHOD_FLAG_STATIC = 32

Indicateur pour une méthode statique.

MethodFlags METHOD_FLAG_OBJECT_CORE = 64

Utilisé en interne. Permet de ne pas décharger des méthodes virtuelles coeur (telles que Object._notification()) à l'API JSON.

MethodFlags METHOD_FLAG_VIRTUAL_REQUIRED = 128

Drapeau pour une méthode virtuelle qui est requise. En GDScript, ce drapeau est défini pour les fonctions abstraites.

MethodFlags METHOD_FLAGS_DEFAULT = 1

Drapeaux de méthode par défaut (normale).


enum Variant.Type: 🔗

Variant.Type TYPE_NIL = 0

La variable est null.

Variant.Type TYPE_BOOL = 1

La variable est du type bool.

Variant.Type TYPE_INT = 2

La variable est du type int.

Variant.Type TYPE_FLOAT = 3

La variable est du type float.

Variant.Type TYPE_STRING = 4

La variable est du type String.

Variant.Type TYPE_VECTOR2 = 5

La variable est du type Vector2.

Variant.Type TYPE_VECTOR2I = 6

La variable est du type Vector2i.

Variant.Type TYPE_RECT2 = 7

La variable est du type Rect2.

Variant.Type TYPE_RECT2I = 8

La variable est du type Rect2i.

Variant.Type TYPE_VECTOR3 = 9

La variable est du type Vector3.

Variant.Type TYPE_VECTOR3I = 10

La variable est du type Vector3i.

Variant.Type TYPE_TRANSFORM2D = 11

La variable est du type Transform2D.

Variant.Type TYPE_VECTOR4 = 12

La variable est du type Vector4.

Variant.Type TYPE_VECTOR4I = 13

La variable est du type Vector4i.

Variant.Type TYPE_PLANE = 14

La variable est du type Plane.

Variant.Type TYPE_QUATERNION = 15

La variable est du type Quaternion.

Variant.Type TYPE_AABB = 16

La variable est du type AABB.

Variant.Type TYPE_BASIS = 17

La variable est du type Basis.

Variant.Type TYPE_TRANSFORM3D = 18

La variable est du type Transform3D.

Variant.Type TYPE_PROJECTION = 19

La variable est du type Projection.

Variant.Type TYPE_COLOR = 20

La variable est du type Color.

Variant.Type TYPE_STRING_NAME = 21

La variable est du type StringName.

Variant.Type TYPE_NODE_PATH = 22

La variable est du type NodePath.

Variant.Type TYPE_RID = 23

La variable est du type RID.

Variant.Type TYPE_OBJECT = 24

La variable est du type Object.

Variant.Type TYPE_CALLABLE = 25

La variable est du type Callable.

Variant.Type TYPE_SIGNAL = 26

La variable est du type Signal.

Variant.Type TYPE_DICTIONARY = 27

La variable est du type Dictionary.

Variant.Type TYPE_ARRAY = 28

La variable est du type Array.

Variant.Type TYPE_PACKED_BYTE_ARRAY = 29

La variable est du type PackedByteArray.

Variant.Type TYPE_PACKED_INT32_ARRAY = 30

La variable est du type PackedInt32Array.

Variant.Type TYPE_PACKED_INT64_ARRAY = 31

La variable est du type PackedInt64Array.

Variant.Type TYPE_PACKED_FLOAT32_ARRAY = 32

La variable est du type PackedFloat32Array.

Variant.Type TYPE_PACKED_FLOAT64_ARRAY = 33

La variable est du type PackedFloat64Array.

Variant.Type TYPE_PACKED_STRING_ARRAY = 34

La variable est du type PackedStringArray.

Variant.Type TYPE_PACKED_VECTOR2_ARRAY = 35

La variable est du type PackedVector2Array.

Variant.Type TYPE_PACKED_VECTOR3_ARRAY = 36

La variable est du type PackedVector3Array.

Variant.Type TYPE_PACKED_COLOR_ARRAY = 37

La variable est du type PackedColorArray.

Variant.Type TYPE_PACKED_VECTOR4_ARRAY = 38

La variable est de type PackedVector4Array.

Variant.Type TYPE_MAX = 39

Représente la taille de l'énumération Variant.Type.


enum Variant.Operator: 🔗

Variant.Operator OP_EQUAL = 0

L'opérateur d’égalité (==).

Variant.Operator OP_NOT_EQUAL = 1

L'opérateur d’inégalité (!=).

Variant.Operator OP_LESS = 2

L'opérateur inférieur à (<).

Variant.Operator OP_LESS_EQUAL = 3

L'opérateur inférieur ou égal (<=).

Variant.Operator OP_GREATER = 4

L'opérateur supérieur à (>).

Variant.Operator OP_GREATER_EQUAL = 5

L'opérateur supérieur ou égal (>=).

Variant.Operator OP_ADD = 6

L'opérateur d’addition (+).

Variant.Operator OP_SUBTRACT = 7

L'opérateur de soustraction (-).

Variant.Operator OP_MULTIPLY = 8

L'opérateur de multiplication (*).

Variant.Operator OP_DIVIDE = 9

L'opérateur de division (/).

Variant.Operator OP_NEGATE = 10

L'opérateur de négation unaire (-).

Variant.Operator OP_POSITIVE = 11

L'opérateur d'addition unaire (+).

Variant.Operator OP_MODULE = 12

Reste / opérateur modulo (%).

Variant.Operator OP_POWER = 13

Opérateur de puissance (**).

Variant.Operator OP_SHIFT_LEFT = 14

Operateur de décalage de bits vers la gauche (<<).

Variant.Operator OP_SHIFT_RIGHT = 15

Operateur de décalage de bits vers la droite (<<).

Variant.Operator OP_BIT_AND = 16

Opérateur binaire ET (&).

Variant.Operator OP_BIT_OR = 17

Opérateur binaire OU (|).

Variant.Operator OP_BIT_XOR = 18

Opérateur binaire OU exclusif (XOR) (^).

Variant.Operator OP_BIT_NEGATE = 19

Opérateur binaire NON (~).

Variant.Operator OP_AND = 20

L'opérateur logique ET (and or &&).

Variant.Operator OP_OR = 21

L'opérateur logique OU (or or ||).

Variant.Operator OP_XOR = 22

Opérateur logique OU exclusif (XOR) (non implémenté dans le GDScript).

Variant.Operator OP_NOT = 23

L'opérateur logique NON (not or !).

Variant.Operator OP_IN = 24

Opérateur logique DANS (in).

Variant.Operator OP_MAX = 25

Représente la taille de l'énumération Variant.Operator.


Constantes

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.


Descriptions des propriétés

AccessibilityServer AccessibilityServer 🔗

The AccessibilityServer singleton.


AudioServer AudioServer 🔗

Le singleton AudioServer.


CameraServer CameraServer 🔗

Le singleton CameraServer.


ClassDB ClassDB 🔗

Le singleton ClassDB.


DisplayServer DisplayServer 🔗

Le singleton DisplayServer.


EditorInterface EditorInterface 🔗

Le singleton EditorInterface.

Note : Uniquement disponible dans les compilations de l'éditeur.


Engine Engine 🔗

Le singleton Engine.


EngineDebugger EngineDebugger 🔗

Le singleton EngineDebugger.


GDExtensionManager GDExtensionManager 🔗

Le singleton GDExtensionManager.


GDScriptLanguageProtocol GDScriptLanguageProtocol 🔗

The GDScriptLanguageProtocol singleton.

Note: Only available in editor builds.


Geometry2D Geometry2D 🔗

Le singleton Geometry2D.


Geometry3D Geometry3D 🔗

Le singleton Geometry3D.


IP IP 🔗

Le singleton IP.


Input Input 🔗

Le singleton Input.


InputMap InputMap 🔗

Le singleton InputMap.


JavaClassWrapper JavaClassWrapper 🔗

Le singleton JavaClassWrapper.

Remarque : Uniquement implémenté sur Android.


JavaScriptBridge JavaScriptBridge 🔗

Le singleton JavaScriptBridge.

Note : Uniquement implémenté sur la plateforme Web.


Marshalls Marshalls 🔗

Le singleton Marshalls.


NativeMenu NativeMenu 🔗

Le singleton NativeMenu.

Note : Uniquement implémenté sur macOS.


NavigationMeshGenerator NavigationMeshGenerator 🔗

Le singleton du NavigationMeshGenerator.


NavigationServer2D NavigationServer2D 🔗

Le singleton NavigationServer2D.


NavigationServer2DManager NavigationServer2DManager 🔗

Le singleton NavigationServer2DManager.


NavigationServer3D NavigationServer3D 🔗

Le singleton NavigationServer3D.


NavigationServer3DManager NavigationServer3DManager 🔗

Le singleton NavigationServer3DManager.


OS OS 🔗

Le singleton OS.


Performance Performance 🔗

Le singleton Performance.


PhysicsServer2D PhysicsServer2D 🔗

Le singleton PhysicsServer2D.


PhysicsServer2DManager PhysicsServer2DManager 🔗

Le singleton PhysicsServer2DManager.


PhysicsServer3D PhysicsServer3D 🔗

Le singleton PhysicsServer3D.


PhysicsServer3DManager PhysicsServer3DManager 🔗

Le singleton PhysicsServer3DManager.


ProjectSettings ProjectSettings 🔗

Le singleton ProjectSettings.


RenderingServer RenderingServer 🔗

Le singleton RenderingServer.


ResourceLoader ResourceLoader 🔗

Le singleton ResourceLoader.


ResourceSaver ResourceSaver 🔗

Le singleton ResourceLoader.


ResourceUID ResourceUID 🔗

Le singleton ResourceUID.


TextServerManager TextServerManager 🔗

Le singleton TextServerManager.


ThemeDB ThemeDB 🔗

Le singleton ThemeDB.


Time Time 🔗

Le singleton du Time.


TranslationServer TranslationServer 🔗

Le singleton TranslationServer.


WorkerThreadPool WorkerThreadPool 🔗

Le singleton WorkerThreadPool.


XRServer XRServer 🔗

Le singleton XRServer.


Descriptions des méthodes

Variant abs(x: Variant) 🔗

Renvoie la valeur absolue d'un paramètre Variant x (c'est-à-dire une valeur non négative). Types pris en charge : int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

var a = abs(-1)
# a vaut 1

var b = abs(-1,2)
#b vaut 1,2

var c = abs(Vecteur2(-3.5, -4))
#c vaut (3.5, 4)

var d = abs(Vecteur2i(-5, -6))
# d vaut (5, 6)

var e = abs(Vecteur3(-7, 8,5, -3,8))
# e vaut (7, 8,5, 3,8)

var f = abs(Vecteur3i(-7, -8, -9))
# f vaut (7, 8, 9)

Remarque : Pour une meilleure sûreté du typage, utilisez absf(), absi(), Vector2.abs(), Vector2i.abs(), Vector3.abs(), Vector3i.abs(), Vector4.abs() ou Vector4i.abs().


float absf(x: float) 🔗

Renvoie la valeur absolue du paramètre d'une valeur décimale x (c'est-à-dire une valeur positive).

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

int absi(x: int) 🔗

Renvoie la valeur absolue du paramètre d'un entier x (c'est-à-dire une valeur positive).

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

float acos(x: float) 🔗

Renvoie l'arc cosinus de x en radians. À utiliser pour obtenir l'angle du cosinus x. x sera borné entre -1.0 et 1.0 (inclus), dans le cas contraire, acos() renverra @GDScript.NAN.

# c vaut 0.523599 ou 30 degrés si converti avec rad_to_deg(c)
var c = acos(0.866025)

float acosh(x: float) 🔗

Renvoie l'arc cosinus hyperbolique (aussi appelé cosinus hyperbolique inverse) de x, renvoyant une valeur en radians. Utilisez la pour obtenir l'angle depuis un cosinus d'angle dans l'espace hyperbolique si x est supérieur ou égal à 1. Pour les valeurs de x inférieures à 1, il renverra 0 afin d'empêcher acosh() de renvoyer @GDScript.NAN.

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

var b = acosh(-1) # Renvoie 0

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

Renvoie la différence entre deux angles (en radians), dans l'intervalle [-PI, +PI]. Quand from et to sont opposés, renvoie -PI si from est plus petit que to, ou PI dans le cas contraire.


float asin(x: float) 🔗

Renvoie l'arc sinus de x en radians. Utilisé pour obtenir l'angle du sinus x. x sera borné entre -1.0 et 1.0 (inclus) afin d'empêcher asin() de renvoyer @GDScript.NAN.

# s vaut 0.523599 ou 30 degrés si converti avec rad_to_deg(s)
var s = asin(0.5)

float asinh(x: float) 🔗

Renvoie l'arc sinus hyperbolique (aussi appelé sinus hyperbolique inverse) de x, renvoyant une valeur en radians. Utilisez la pour obtenir l'angle depuis un sinus d'angle dans l'espace hyperbolique.

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

float atan(x: float) 🔗

Renvoie la tangente inverse de x en radians. Utilisez ceci pour obtenir l'angle à partir de la tangente d'un angle en trigonométrie.

La méthode ne peut pas savoir dans quel quart de cercle l'angle doit se situer. Voir atan2() si vous avez à la fois y et x.

var a = atan(0.5) # a vaut 0.463648

Si x est entre -PI / 2 et PI / 2 (inclusif), atan(tan(x)) est égal à x.


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

Renvoie la tangente inverse de y/x en radians. Utilisez ceci pour obtenir l'angle de la tangente y/x. Pour calculer la valeur, la méthode prend en compte le signe des deux arguments afin de déterminer l'arc de cercle.

Note importante : La coordonnée Y est en premier, par convention.

a = atan2(0, -1) # a vaut 3.141593

float atanh(x: float) 🔗

Renvoie l'arc hyperbolique tangent (également appelé tangente hyperbolique inverse) de x, renvoyant une valeur en radians. Utilisez-le pour obtenir l'angle de la tangente d'un angle dans l'espace hyperbolique si x est compris entre -1 et 1 (non inclus).

En mathématiques, la tangente hyperbolique inverse n'est définie que pour -1 < x < 1 dans l'ensemble réel, donc les valeurs égales ou inférieures à -1 pour x renvoient une @GDScript.INF négative et des valeurs égales ou supérieur à 1 renvoie une @GDScript.INF positive afin d'empêcher atanh() de renvoyer @GDScript.NAN.

var a = atanh(0.9) # Renvoie 1,47221948958322
tanh(a) # Renvoie 0,9

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

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

Renvoie la dérivée au paramètre t dans une courbe de Bézier unidimensionnelle donnée par les points control_1,control_2 et end.


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

Renvoie le point au paramètre t dans une courbe de Bézier unidimensionnelle donnée par les points control_1,control_2 et end.


Variant bytes_to_var(bytes: PackedByteArray) 🔗

Décode un tableau d'octets en une valeur Variant, sans décoder les objets.

Remarque : Si vous avez besoin d'une désérialisation d'objet, consultez bytes_to_var_with_objects().


Variant bytes_to_var_with_objects(bytes: PackedByteArray) 🔗

Décode un tableau d'octets pour le ramener à une valeur Variant. Le décodage d'objets est autorisé.

Attention : L'objet désérialisé peut contenir du code qui sera exécuté. N'utilisez pas cette option si l'objet désérialisé provient de sources non fiables afin d'éviter d'éventuelles menaces de sécurité (exécution de code distant).


Variant ceil(x: Variant) 🔗

Arrondit x au supérieur (vers l'infini positif), renvoyant la plus petite valeur entière qui n'est pas inférieure à x. Les types supportés sont : int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

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

Voir aussi floor(), round(), and snapped().

**Note : ** Pour une meilleure sûreté du typage, utilisez ceilf(), ceili(), Vector2.ceil(), Vector3.ceil(), ou Vector4.ceil().


float ceilf(x: float) 🔗

Arrondit x au supérieur (vers l'infini positif), renvoyant la plus petite valeur entière qui n'est pas inférieure à x.

Une version "type-safe" de ceil(), renvoyant un float.


int ceili(x: float) 🔗

Arrondit x au supérieur (vers l'infini positif), renvoyant la plus petite valeur entière qui n'est pas inférieure à x.

Une version sure de typage de la ceil(), renvoyant un int.


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

Borne la valeur value, renvoyant un Variant non inférieur à min et non supérieur à max. Toutes les valeurs pouvant être comparées avec les opérateurs inférieur à et supérieur à fonctionneront.

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

var b = clamp(8.1, 0.9, 5.5)
#b vaut 5,5

Remarque : Pour une meilleure sûreté du typage, utilisez clampf(), clampi(), Vector2.clamp(), Vector2i.clamp(), Vector3.clamp(), Vector3i.clamp(), Vector4.clamp(), Vector4i.clamp() ou Color.clamp() (actuellement non prise en charge par cette méthode).

Remarque : Lors de l'utilisation de ceci sur des vecteurs, il n'effectuera pas un bornage par composant et sélectionnera min si value < min ou max si valeur > max. Pour effectuer un bornage par composant, utilisez les méthodes répertoriées ci-dessus.


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

Borne une valeur value et renvoie un float compris entre min et max.

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

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

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

Borne une valeur value et renvoie un int compris entre min et max.

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

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

float cos(angle_rad: float) 🔗

Renvoie le cosinus de l'angle angle_rad en radians.

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

float cosh(x: float) 🔗

Renvoie le cosinus hyperbolique de x en radians.

print(cosh(1)) # Renvoie 1.543081

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

Réalise une interpolation cubique entre deux valeurs par le facteur défini dans weight avec les valeurs pre et post.


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

Réalise une interpolation cubique entre deux valeurs de rotation par le chemin le plus court par le facteur défini dans weight avec les valeurs pre et post. Voir aussi 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) 🔗

Réalise une interpolation cubique entre deux valeurs de rotation par le chemin le plus court par le facteur défini dans weight avec les valeurs pre et post. Voir aussi lerp_angle().

Elle peut effectuer une interpolation plus lisse que cubic_interpolate() par les valeurs temporelles.


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

Réalise une interpolation cubique entre deux valeurs par le facteur défini dans weight avec les valeurs pre et post.

Il peut effectuer une interpolation plus fluide que cubic_interpolate() pour les valeurs temporelles.


float db_to_linear(db: float) 🔗

Convertit les décibels en énergie linéaire (audio).


float deg_to_rad(deg: float) 🔗

Convertit un angle en degrés vers sa valeur en radians.

var r = deg2rad(180) # r vaut 3.141593

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

Renvoie une valeur "assouplie" de x sur la base d'une fonction d'assouplissement définie avec la courbe curve. Cette fonction d'assouplissement est basée sur un exposant. La courbe curve peut être un nombre à virgule flottante, avec des valeurs spécifiques conduisant aux comportements suivants :

- Inférieur à -1.0 (exclus) : Plus lent au début et à la fin ("ease in-out")
- 1.0 : Linéaire
- Entre -1.0 et 0.0 (exclus) : Plus rapide au début et à la fin ("ease out-in")
- 0.0 : Constant
- Entre 0.0 et 1.0 (exclus) : Plus lent au début ("ease in")
- 1.0 : Linéaire
- Supérieur à 1.0 (exclus) : Plus lent à la fin ("ease out")

L'aide-mémoire des valeurs de la courbe de ease()

Voir également smoothstep(). Si vous avez besoin de réaliser des transitions plus avancées, utilisez Tween.interpolate_value().


String error_string(error: int) 🔗

Renvoie un nom facilement lisible pour le code d'Error donné.

print(OK)                                                                        # Affiche 0
print(error_string(OK))                                            # Affiche OK
print(error_string(ERR_BUSY))                            # Affiche Busy
print(error_string(ERR_OUT_OF_MEMORY)) # Affiche "Mémoire insuffisante"

float exp(x: float) 🔗

La fonction exponentielle. Elle élève la constante mathématique e à la puissance x et la renvoie.

e a une valeur approximative de 2,71828, et peut être obtenue avec exp(1).

Pour les exposants à d'autres bases, utilisez la méthode pow().

a = exp(2) # Environ 7.39

Variant floor(x: Variant) 🔗

Arrondit x à l'inférieur (vers l'infini négatif), renvoyant le plus grand nombre entier qui n'est pas supérieur à x. Les types supportés sont : int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

var a = floor(2.99) # a vaut 2,0
a = floor(-2.99)    # a vaut -3,0

Voir aussi ceil(), round(), et snapped().

Remarque : Pour une meilleure sûreté du typage, utilisez floorf(), floori(), Vector2.floor(), Vector3.floor(), ou Vector4.floor().


float floorf(x: float) 🔗

Arrondit x vers le bas (direction -infini), renvoie le plus grand nombre entier qui est plus petit que x.

Une version sécurisée de floor() qui renvoie un float.


int floori(x: float) 🔗

Arrondit x vers le bas (en direction -infinie), renvoie le plus grand nombre entier plus petit que x.

Une version sécurisée de la floor(), renvoyant un int.

Note : Cette fonction n'est pas la même que int(x), qui arrondit vers 0.


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

Renvoie le reste en virgule flottante de x divisé par y, en gardant le signe de x.

var reste = fmod(7, 5.5) # reste vaut 1.5

Pour l'opération de reste entier, utilisez l'opérateur %.


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

Renvoie le modulo en virgule flottante de x divisé par y qui reboucle de manière égale en positif et en négatif.

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)])

Affiche :

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

int hash(variable: Variant) 🔗

Renvoie le hachage entier de la variable passée.

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

Object instance_from_id(instance_id: int) 🔗

Renvoie l'objet Object qui correspond à instance_id. Tous les Objects ont un identifiant d'instance unique. Voir aussi Object.get_instance_id().

var boisson= "eau"

func _ready() :
    var id = get_instance_id()
    var instance = instance_from_id(id)
    print(instance.foo) # Affiche "eau"

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

Renvoie un facteur d'interpolation ou d'extrapolation suivant l'intervalle spécifié dans from et to, et la valeur interpolée spécifiée par weight. La valeur renvoyée sera entre 0.0 et 1.0 si weight est entre from et to (inclus). Si weight se trouve en dehors de cet intervalle, un facteur d'extrapolation sera renvoyé (une valeur inférieure à 0.0 ou supérieure à 1.0). Utilisez clamp() sur le résultat de inverse_lerp() si cela n'est pas souhaité.

# Le facteur d'interpolation de cet appel à `lerp()` ci-dessous est de 0.75.
var milieu= lerp(20, 30, 0.75)
# milieu vaut maintenant 27.5.

# Admettons maintenant que l'on ait oublié le facteur d'interpolation original et que l'on veut le calculer.
var ratio = inverse_lerp(20, 30, 27.5)
# ratio vaut maintenant 0.75.

Voir aussi lerp() qui fait l'opération inverse et remap() qui fait correspondre une série de valeurs continues à une autre.


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

Renvoie true si a et b sont à peu près égaux.

Ici, "à peu près égaux" signifie que a et b diffèrent d'une petite valeur interne notée epsilon, qui étant ajustée en fonction de la grandeur des nombres.

Deux valeurs infinies du même signe sont considérées comme égales.


bool is_finite(x: float) 🔗

Renvoie si x est une valeur finie, c.a.d. n'est pas @GDScript.NAN, infini positif ou infini négatif. Voir aussi is_inf() et is_nan().


bool is_inf(x: float) 🔗

Renvoie true si x est une valeur infinie positive ou infinie négative. Voir aussi is_finite() et is_nan().


bool is_instance_id_valid(id: int) 🔗

Renvoie true si l'Object qui correspond à id est un objet valide (par ex. s'il n'a pas été supprimé de la mémoire). Tous les Objects ont un identifiant d'instance unique.


bool is_instance_valid(instance: Variant) 🔗

Renvoie true si instance est un Object valide (par ex. s'il n'a pas été supprimé de la mémoire).


bool is_nan(x: float) 🔗

Renvoie true si x est une valeur NaN (« Not a Number » ou invalide). Cette méthode est nécessaire car @GDScript.NAN n'est pas égal à lui-même, ce qui signifie que x == NAN ne peut pas être utilisé pour vérifier si une valeur est un NaN.


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

Renvoie true, pour les types valeur, si a et b partagent la même valeur. Renvoie true, pour les types référence, si les références de a et b sont les mêmes.

# Vector2 est un type valeur
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 est un type référence
var arr_a = []
var arr_b = []
is_same(arr_a, arr_a) # true
is_same(arr_a, arr_b) # false

Ceci sont des types valeur de Variant : null, bool, int, float, String, StringName, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i, Rect2, Rect2i, Transform2D, Transform3D, Plane, Quaternion, AABB, Basis, Projection, Color, NodePath, RID, Callable et Signal.

Ceux-là sont des types référence de Variant : Object, Dictionary, Array, PackedByteArray, PackedInt32Array, PackedInt64Array, PackedFloat32Array, PackedFloat64Array, PackedStringArray, PackedVector2Array, PackedVector3Array, PackedVector4Array et PackedColorArray.


bool is_zero_approx(x: float) 🔗

Renvoie true si x vaut zéro ou quasiment zéro. La comparaison est faite en utilisant une tolérance de calcul avec un petit epsilon interne.

Cette méthode est plus rapide que is_equal_approx() avec une valeur nulle.


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

Effectue une interpolation linéaire entre deux valeurs par un facteur défini dans weight. Pour effectuer l'interpolation, weight devrait se situer entre 0.0 et 1.0 (inclus). Pour autant, des valeurs en dehors de cet intervalle sont autorisées pour effectuer une extrapolation. Si cela n'est pas souhaité, utilisez clampf() pour limiter weight.

Les arguments from et to doivent être du même type. Types supportés : int, float, Vector2, Vector3, Vector4, Color, Quaternion, Basis, Transform2D, Transform3D.

lerp(0, 4, 0.75) # Renvoie 3.0

Voir aussi inverse_lerp() qui effectue l'opération inverse. Pour effectuer une interpolation adoucie avec lerp(), combinez l'appel avec ease() ou smoothstep(). Voir aussi remap() pour faire correspondre une série de valeurs continues à une autre.

Note : Pour une meilleure sûreté du typage, utilisez lerpf(), Vector2.lerp(), Vector3.lerp(), Vector4.lerp(), Color.lerp(), Quaternion.slerp(), Basis.slerp(), Transform2D.interpolate_with(), ou Transform3D.interpolate_with().


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

Interpolation linéaire entre deux angles (en radians) par une valeur normalisée.

Similaire à lerp(), mais interpole correctement lorsque les angles proches de @GDScript.TAU. Pour une interpolation plus douce avec lerp_angle(), utilisez aussi ease() ou smoothstep().

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

Note : Cette méthode utiliser une interpolation avec le chemin le plus court entre from et to. Par contre, si ces deux angles sont approximativement PI + k * TAU l'un de l'autre pour n'importe quel entier k, l'interpolation n'est pas évidente à cause des erreurs de précision des flottants. Par exemple, lerp_angle(0, PI, weight) ira dans le sens anti-horaire, alors que lerp_angle(0, PI + 5 * TAU, weight) ira dans le sens horaire.


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

Effectue une interpolation linéaire entre deux valeurs par un facteur défini dans weight. Pour effectuer l'interpolation, weight se situer entre 0.0 et 1.0 (inclus). Pour autant, des valeurs en dehors de cet intervalle sont autorisées pour effectuer une extrapolation. Utilisez clampf() sur le résultat de cette fonction si cela n'est pas souhaité.

lerp(0, 4, 0.75) # Renvoie 3.0

Voir aussi inverse_lerp() qui effectue l'opération inverse. Pour effectuer une interpolation adoucie avec lerp(), combinez l'appel avec ease() ou smoothstep().


float linear_to_db(lin: float) 🔗

Convertit l'énergie linéaire en décibels (audio). Comme le volume n'est normalement pas linéaire, cela peut être utilisé pour implémenter des curseurs de volume qui se comportent comme prévu.

Exemple : Changez le volume du bus Master grâce à un nœud Slider qui va de 0.0 à 1.0 :

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

float log(x: float) 🔗

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

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

log(10) # Returns 2.302585

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


Variant max(...) vararg 🔗

Renvoie le maximum des valeurs numériques données. Cette fonction peut prendre n'importe quel nombre d'arguments.

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

Remarque : Lorsque vous utilisez cette fonction sur des vecteurs, elle n'effectuera pas de maximum par composant et choisira la valeur la plus élevée lors de la comparaison à l'aide de x < y. Pour effectuer un maximum par composant, utilisez Vector2.max(), Vector2i.max(), Vector3.max(), Vector3i.max(), Vector4.max() et Vector4i.max().


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

Renvoie le maximum entre deux flottants float.

max(3.6, 24)    # Renvoie 24.0
max(-3.99, -4) # Renvoie -3.99

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

Renvoie le maximum entre deux entiers int.

max(1, 2)   # Renvoie 2
max(-3, -4) # Renvoie -3

Variant min(...) vararg 🔗

Renvoie le minimum des valeurs numériques données. Cette fonction peut prendre n'importe quel nombre d'arguments.

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

Remarque : Lorsque vous utilisez cette fonction sur des vecteurs, elle n'effectuera pas de minimum par composant et choisira la plus petite valeur lors de la comparaison à l'aide de x < y. Pour effectuer un minimum par composant, utilisez Vector2.min(), Vector2i.min(), Vector3.min(), Vector3i.min(), Vector4.min() et Vector4i.min().


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

Renvoie le minimum entre deux flottants float.

min(3.6, 24)    # Renvoie 3.6
min(-3.99, -4) # Renvoie -4.0

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

Renvoie le minimum entre deux entiers int.

min(1, 2) # Renvoie 1
min(-3, -4) # Renvoie -4

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

Déplace from vers to du montant delta. Ne dépassera pas to.

Utilisez une valeur delta négative pour vous éloigner.

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

int nearest_po2(value: int) 🔗

Renvoie la plus petite puissance de 2 égale ou supérieure à la valeur value.

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

nearest_po2(0) # Renvoie 0 (cela pourrait ne pas être la valeur attendue)
nearest_po2(-1) # Renvoie 0 (cela pourrait ne pas être la valeur attendue)

Attention : À cause de la manière dont elle est implémentée, cette fonction renvoie 0 plutôt que 1 pour des valeurs inférieures ou égales à 0, avec une exception lorsque value vaut l'entier 64-bits négatif le plus petit (-9223372036854775808). Dans ce cas, value est renvoyé à l'identique.


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

Fait boucler une valeur value entre 0 et la longueur length. Si la limite est atteinte, la valeur suivante renvoyée par la fonction est diminuée vers le côté 0 ou augmentée du côté length (comme un signal triangulaire). Si length est inférieure à zéro, elle devient positive.

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

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

Renvoie le modulo entier de x divisé par y qui reboucle de manière égale en positif et en négatif.

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

Affiche :

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

Renvoie le résultat de base élevée à la puissance exp.

En GDScript, c'est l'équivalent de l'opérateur **.

pow(2, 5) # Renvoie 32.0
pow(4,1. 5) # Renvoie 8.0

void print(...) vararg 🔗

Convertit un ou plusieurs arguments de n'importe quel type en chaîne de caractères de la meilleure façon possible et les imprime dans la console.

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

Note : Envisagez d'utiliser push_error() et push_warning() pour afficher les messages d'erreur et d'avertissement au lieu de print() ou print_rich(). Cela les distingue des messages affichés utilisés à des fins de débogage, tout en affichant une trace de la pile lorsqu'une erreur ou un avertissement est affiché. Voir aussi Engine.print_to_stdout et ProjectSettings.application/run/disable_stdout.


void print_rich(...) vararg 🔗

Convertit un ou plusieurs arguments de n'importe quel type en chaîne de caractères de la meilleure façon possible et les affiche dans la console.

Les balises BBCode suivantes sont prises en charge : b, i, u, s, indent, code, url, center, right, color, bgcolor, fgcolor.

Les balises URL ne prennent en charge que les URL entourées par une balise URL, pas les URL avec un titre différent.

Lors de l'impression vers la sortie standard, le sous-ensemble BBCode pris en charge est converti en codes d'échappement ANSI pour que l'émulateur de terminal puisse les afficher. La prise en charge des codes d'échappement ANSI varie selon les émulateurs de terminal, en particulier pour l'italique et le barré. Dans la sortie standard, code est représenté par un texte pâle mais sans aucun changement de police. Les balises non prises en charge sont laissées telles quelles dans la sortie standard.

print_rich("[color=green][b]Bonjour le monde ![/b][/color]") # Affiche "Hello world!" en vert avec une police en gras

Remarque : Considérez d'utiliser push_error() et push_warning() pour imprimer les messages d'erreur et d'avertissement au lieu de print() ou print_rich(). Cela les distingue des messages affichés utilisés à des fins de débogage, tout en affichant également une trace de pile lorsqu'une erreur ou un avertissement est affiché.

Remarque : La sortie affichée dans l'éditeur prend en charge les balises [url=address]text[/url] cliquables. La valeur address de la balise [url] est gérée par OS.shell_open() lorsqu'elle est cliquée.


void print_verbose(...) vararg 🔗

Si le mode verbeux est activé (OS.is_stdout_verbose() qui renvoie true), convertit un ou plusieurs arguments de n'importe quel type en chaîne de caractères de la meilleure façon possible et les affiche dans la console.


void printerr(...) vararg 🔗

Affiche un ou plusieurs arguments en chaînes de caractères de la meilleure façon possible sur la ligne d'erreur.

printerr("affiche sur stderr")

void printraw(...) vararg 🔗

Affiche un ou plusieurs arguments en chaînes de caractères de la meilleure façon possible sur le terminal de l'OS. Contrairement à print(), aucune nouvelle ligne n'est ajoutée à la fin.

Note : Le terminal de l'OS n'est pas le même que le dock Sortie de l'éditeur. La sortie envoyée au terminal de l'OS peut être vue lors de l'exécution de Godot sur un terminal. Sur Windows, cela requiert l'utilisation de l'exécutable console.exe.

# Affiche "ABC" dans le terminal.
printraw("A")
printraw("B")
printraw("C")

void prints(...) vararg 🔗

Affiche un ou plusieurs arguments dans la console, intercalés d'un espace entre chaque.

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

void printt(...) vararg 🔗

Affiche un ou plusieurs arguments dans la console, intercalés d'une tabulation entre chaque.

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

void push_error(...) vararg 🔗

Renvoie un message d'erreur au débogueur interne de Godot et dans le terminal du système.

push_error("erreur test") # Affiche "erreur test" dans le débogueur et le terminal en tant qu'erreur.

Note : Les erreurs affichées ainsi n'interrompent pas l'exécution du projet. Pour afficher un message d'erreur et interrompre l'exécution du projet dans une compilation de débogage, utilisez assert(false, "erreur test") à la place.


void push_warning(...) vararg 🔗

Pousse un message d'avertissement dans le débogueur intégré de Godot et le terminal de l'OS.

push_warning("avertissement de test") # Affiche "avertissement de test" dans le débogueur et le terminal en tant qu'avertissement.

float rad_to_deg(rad: float) 🔗

Convertit un angle exprimé en radians en degrés.

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

PackedInt64Array rand_from_seed(seed: int) 🔗

Pour un seed donné, renvoie un PackedInt64Array de taille 2 dont le premier élément est la valeur int aléatoire et le second élément est le même que seed. Donner en entrée la même seed renvoie toujours le même tableau.

Note : "Seed" représente ici l'état interne du générateur de nombres pseudo-aléatoires, actuellement implémenté en tant qu'entier 64 bits.

var a = rand_from_seed(4)

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

float randf() 🔗

Renvoie une valeur aléatoire à virgule flottante entre 0.0 et 1.0 (inclusif).

randf() # Renvoie par ex. 0.375671

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

Renvoie un flottant aléatoire entre from et to (inclusif).

randf_range(0, 20.5) # Renvoie par ex. 7.45315
randf_range(-10, 10) # Renvoie par ex. -3.844535

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

Renvoie une valeur flottante pseudo-aléatoire d'une loi normale ayant comme moyenne mean et comme déviation standard deviation. Aussi connue sous le nom de loi Gaussienne.

Note : Cette méthode utilise l'algorithme de tranformation de Box-Muller.


int randi() 🔗

Renvoie un nombre entier non signé de 32 bits aléatoire. Utilisez l'opérateur modulo pour obtenir une valeur aléatoire dans l'intervalle [0, N - 1] (où N est plus petit que 2^32).

randi()           # Renvoie un nombre entier aléatoire entre 0 et 2^32 - 1
randi() % 20      # Renvoie un nombre entier aléatoire entre 0 et 19
randi() % 100     # Renvoie un nombre entier aléatoire entre 0 et 99
randi() % 100 + 1 # Renvoie un nombre entier aléatoire entre 1 et 100

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

Renvoie un nombre entier positif aléatoire de 32 bits entre from et to (inclusif). Si to est inférieur à from, ils sont échangés.

randi_range(0, 1)      # Renvoie 0 or 1
randi_range(-10, 1000) # Renvoie un entier aléatoire entre -10 et 1000

void randomize() 🔗

Randomise la graine (ou état interne) du générateur de nombres aléatoires. L'implémentation actuelle utilise un nombre basé sur l'horloge de l'appareil.

Note : Cette fonction est invoquée automatiquement lorsque le projet est exécuté. Si vous avez besoin de fixer la graine pour avoir des résultats consistants et reproductibles, utilisez seed() pour initialiser le générateur de nombres aléatoires.


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

Fait correspondre une valeur value de l'intervalle [istart, istop] à [ostart, ostop]. Voir aussi lerp() et inverse_lerp(). Si value est en dehors de [istart, istop], la valeur résultante sera aussi en dehors de [ostart, ostop]. Si cela n'est pas souhaité, utilisez clamp() sur le résultat de cette fonction.

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

Pour les cas d'utilisation plus complexes avec plusieurs intervalles, favorisez plutôt Curve ou Gradient.

Note : Si istart == istop, la valeur de retour est indéfinie (en général, NaN, INF ou -INF).


int rid_allocate_id() 🔗

Alloue un ID unique qui peut être utilisé par l'implémentation pour construire un RID. Ceci est principalement utilisé depuis des extensions natives pour implémenter des serveurs.


RID rid_from_int64(base: int) 🔗

Crée un RID depuis une base. Principalement utilisé depuis des extensions natives pour compiler des serveurs.


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

Fait pivoter from vers to du montant delta. Ne dépassera pas to.

Similaire à move_toward(), mais interpole correctement lorsque les angles dépassent @GDScript.TAU pour revenir à 0.

Si delta est négatif, cette fonction tournera en sens inverse de to vers l’angle opposé et ne dépassera pas l’angle opposé.


Variant round(x: Variant) 🔗

Arrondit x au nombre entier le plus proche, avec les cas à mi-chemin arrondis dans le sens opposé à 0. Les types supportés sont : int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

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

Voir aussi floor(), ceil(), et snapped().

Note : Pour une meilleure sûreté du typage, utilisez roundf(), roundi(), Vector2.round(), Vector3.round(), ou Vector4.round().


float roundf(x: float) 🔗

Arrondit x vers l'entier le plus proche, avec les demis exacts arrondis à l'opposé de 0.

Une version typée de round(), renvoyant un float.


int roundi(x: float) 🔗

Arrondit x jusqu'au nombre entier le plus proche, avec les cas à mi-chemin arrondis à l'opposé de 0.

Une version typée de round(), renvoyant un int.


void seed(base: int) 🔗

Définit la graine pour le générateur de nombres aléatoires à base. Définir la graine manuellement garantit des résultats consistants et répétables pour la plupart des fonctions aléatoires.

var my_seed = "Godot Rocks".hash()
seed(my_seed)
var a = randf() + randi()
seed(my_seed)
var b = randf() + randi()
# a et b sont maintenant identiques

Variant sign(x: Variant) 🔗

Renvoie le même type de Variant que x, avec -1 pour des valeurs négatives, 1 pour des valeurs positives, et 0 pour des zéros. Pour des valeurs nan, renvoie 0.

Les types supportés sont : int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

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

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

Note : Pour une meilleure sûreté du typage, utilisez signf(), signi(), Vector2.sign(), Vector2i.sign(), Vector3.sign(), Vector3i.sign(), Vector4.sign(), ou Vector4i.sign().


float signf(x: float) 🔗

Renvoie -1.0 si x est négatif, 1.0 si x est positif, et0.0 si x vaut zéro. Pour des valeurs nan de x, renvoie 0.0.

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

int signi(x: int) 🔗

Renvoie -1 si x est négatif, 1 si x est positif, et0 si x vaut zéro.

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

float sin(angle_rad: float) 🔗

Renvoie le sinus de l'angle angle_rad en radians.

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

float sinh(x: float) 🔗

Renvoie le sinus hyperbolique de x.

a = log(2.0) # Renvoie 0.693147
sinh(a) # Renvoie 0.75

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

Renvoie une interpolation d'Hermite avec cubique lisse entre 0 et 1.

Pour les plages positives (lorsque from <= to), la valeur de renvoi est 0 lorsque x <= from, et 1 lorsque x >= to. Si x se situe entre from et to, la valeur de renvoi suit une courbe en forme de S qui varie en douceur de 0 à 1.

Pour les plages négatives (lorsque from > to), la fonction est réfléchie et renvoie 1 lorsque x <= to et 0 lorsque x >= from.

Cette courbe en S est l'interpolateur cubique d'Hermite, donné par f(y) = 3*y^2 - 2*y^3y = (x-from) / (to-from).

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

Par rapport à ease() avec une valeur de courbe de -1.6521, smoothstep() renvoie la courbe la plus lisse possible sans changement soudain dans la dérivée. Si vous devez effectuer des transitions plus avancées, utilisez Tween ou AnimationPlayer.

Comparaison entre les valeurs de renvoi de smoothstep() et ease(x, -1.6521)

Les valeurs de renvoi de Smoothstep() pour des plages positives, zéro et négatives


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

Renvoie le multiple de step qui est le plus proche de x. Cela peut aussi être utilisé pour arrondir un flottant à un nombre arbitraire de décimales.

La valeur renvoyée est du même type de Variant que step. Les types supportés sont : int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.

snapped(100, 32)  # Renvoie 96
snapped(3.14159, 0.01)  # Renvoie 3,14

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

Voir aussi ceil(), floor(), et round().

Note : Pour une meilleure sûreté du typage, utilisez snappedf(), snappedi(), Vector2.snapped(), Vector2i.snapped(), Vector3.snapped(), Vector3i.snapped(), Vector4.snapped(), ou Vector4i.snapped().


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

Renvoie le multiple de step qui est le plus proche de x. Cela peut être utilisé pour arrondir un flottant à un nombre arbitraire de décimales.

Une version typée de snapped(), renvoyant un float.

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

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

Renvoie le multiple de step qui est le plus proche de x.

Une version de typée de snapped(), renvoyant un int.

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

float sqrt(x: float) 🔗

Renvoie la racine carrée de x, où x est un nombre non négatif.

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

Note : Les valeurs négatives de x renvoient NaN ("Not a Number", pas un nombre). En C#, si vous avez besoin d'entrées négatives, utilisez System.Numerics.Complex.


int step_decimals(x: float) 🔗

Renvoie la position du premier chiffre différent de zéro, après la virgule décimale. Notez que la valeur maximale renvoyée est 10, ce qui est une décision par design dans l'implémentation.

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

String str(...) vararg 🔗

Convertit un ou plusieurs arguments de type Variant en chaîne de caractères de la meilleure manière possible.

var a = [10, 20, 30]
var b = str(a)
print(len(a)) # Affiche 3 (le nombre d'éléments du tableau).
print(len(b)) # Affiche 12 (la longueur de la chaîne "[10, 20, 30]").

Variant str_to_var(string: String) 🔗

Convertit une chaîne de caractère string formatée qui a été renvoyée par var_to_str() en son Variant d'origine.

var data = '{ "a": 1, "b": 2 }' # data est un String
var dict = str_to_var(data)     # dict est un Dictionary
print(dict["a"])                # Affiche 1

float tan(angle_rad: float) 🔗

Renvoie la tangente de l'angle angle_rad en radians.

tan(deg_to_rad(45)) # Renvoie 1

float tanh(x: float) 🔗

Renvoie la tangente hyperbolique de x.

var a = log(2.0) # Renvoie 0.693147
tanh(a)          # Returns 0.6

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

Convertit la variant donnée en le type donné, en utilisant la valeur de Variant.Type. Cette méthode est généreuse avec la façon dont elle gère les types, elle peut automatiquement convertir entre les types de tableaux, convertir les String numériques en int, et convertir la plupart des choses en String.

Si la conversion de type ne peut être effectuée, cette méthode renverra la valeur par défaut pour ce type, par exemple convertir Rect2 en Vector2 renverra toujours Vector2.ZERO. Cette méthode n'affichera jamais de messages d'erreur tant que type est un type Variant valide.

La valeur renvoyée est un Variant, mais les données à l'intérieur et leurs types seront les mêmes que le type demandé.

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

String type_string(type: int) 🔗

Renvoie un nom facilement lisible du type donné, en utilisant la valeur de Variant.Type.

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

Voir aussi typeof().


int typeof(variable: Variant) 🔗

Renvoie le type interne de la variable donnée, en utilisant la valeur de Variant.Type.

var json = JSON.new()
json.parse('["a", "b", "c"]')
var result = json.get_data()
if result is Array:
    print(result[0]) # Affiche a
else:
    print("Résultat inattendu !")

Voir aussi type_string().


PackedByteArray var_to_bytes(variable: Variant) 🔗

Encode une valeur de Variant en un tableau de bytes, sans encoder les objets. La désérialisation peut être faite avec bytes_to_var().

Note : Si vous avez besoin de serialisation d'objets, voir var_to_bytes_with_objects().

Note : Encoder Callable n'est pas supporté et va renvoyer une valeur vide, peu importe les données.


PackedByteArray var_to_bytes_with_objects(variable: Variant) 🔗

Encode une valeur Variant en un tableau d'octets. L'encodage d'objets est autorisé (et peut éventuellement inclure du code exécutable). La désérialisation peut être faite avec bytes_to_var_with_objects().

Note : Encoder Callable n'est pas pris en charge et renverra une valeur vide, peu importe les données.


String var_to_str(variable: Variant) 🔗

Convertit une Variant variable en une chaîne de caractères String formatée qui pourra ensuite être décodée grâce à str_to_var().

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

Affiche :

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

Note : Convertir Signal ou Callable n'est pas supporté et va résulter en une valeur vide pour ces types, peu importe leurs données.


Variant weakref(obj: Variant) 🔗

Renvoie une instance WeakRef contenant une faible référence à obj. Renvoie une instance WeakRef vide si obj est null. Affiche une erreur et renvoie null si obj n'est ni dérivé Object ni null.

Une référence faible à un objet n'est pas suffisante pour garder l'objet en vie : lorsque les seules références restantes à un référent sont des références faibles, le nettoyeur de mémoire est libre de détruire le référent et de réutiliser sa mémoire pour autre chose. Cependant, jusqu'à ce que l'objet soit effectivement détruit, la référence faible peut renvoyer l'objet même s'il n'y a pas de références fortes à celui-ci.


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

Enroule le Variant value entre min et max. min est inclusif tandis que max est exclusif. Peut être utilisé pour créer un comportement de boucle ou des surfaces infinies.

Les types de variants int et float sont supportés. Si l'un des arguments est float, cette fonction renvoie un float, sinon elle renvoie un int.

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

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

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

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

Enroule le flottant value entre min and max. min est inclusif tandis que max est exclusif. Cela peut être utilisé pour émuler des boucles ou des surfaces infinies.

# Boucle infinie entre 5.0 et 9.9
valeur = wrapf(valeur + 0.1 ,5.0, 10.0)
# Rotation infinie (en radians)
angle = wrapf(angle + 0.1, 0.0, TAU)
# Rotation infinie (en radians)
angle = wrapf(angle + 0.1, -PI, PI)

Note : Si min vaut 0, la méthode est équivalente à fposmod(), donc préférez l'utiliser à la place. wrapf() est plus flexible que fposmod() en donnant à l'utilisateur le contrôle de la valeur sur la valeur minimale.


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

Enroule l'entier value entre min et max. min est inclusif tandis que max est exclusif. Peut être utilisé pour créer des comportements de boucle ou des surfaces infinies.

# Boucle infinie entre 5 et 9
trame = wrapi(trame + 1, 5, 10)
# Le résultat est -2
var result = wrapi(-6, -5, -1)