@GlobalScope
Constantes de ámbito global y funciones.
Descripción
Una lista de constantes enumeradas de ámbito global y funciones integradas. Esto es todo lo que reside en las variables globales, constantes relacionadas con códigos de error, códigos de teclas, sugerencias de propiedades, etc.
Los singletons también se documentan aquí, ya que se puede acceder a ellos desde cualquier lugar.
Para las entradas a las que solo se puede acceder desde scripts escritos en GDScript, Véase @GDScript.
Nota
Hay diferencias notables cuando usa esta API con C#. Véase Diferencias de la API de C# con GDScript para más información.
Tutoriales
Propiedades
Métodos
Enumeraciones
enum Side: 🔗
Side SIDE_LEFT = 0
Lado izquierdo, generalmente utilizado para clases derivadas de Control o StyleBox.
Side SIDE_TOP = 1
Lado superior, generalmente utilizado para clases derivadas de Control o StyleBox.
Side SIDE_RIGHT = 2
Lado derecho, generalmente utilizado para clases derivadas de Control o StyleBox.
Side SIDE_BOTTOM = 3
Lado inferior, generalmente utilizado para clases derivadas de Control o StyleBox.
enum Corner: 🔗
Corner CORNER_TOP_LEFT = 0
Esquina Superior Izquierda.
Corner CORNER_TOP_RIGHT = 1
Esquina Superior Derecha.
Corner CORNER_BOTTOM_RIGHT = 2
Esquina Inferior Derecha.
Corner CORNER_BOTTOM_LEFT = 3
Esquina Inferior Izquierda.
enum Orientation: 🔗
Orientation VERTICAL = 1
Alineación vertical general, generalmente usada para Separator, ScrollBar, Slider, etc.
Orientation HORIZONTAL = 0
Alineación horizontal general, generalmente usada para Separator, ScrollBar, Slider, etc.
enum ClockDirection: 🔗
ClockDirection CLOCKWISE = 0
Rotación en el sentido de las agujas del reloj. Utilizado por algunos métodos (p.ej., Image.rotate_90()).
ClockDirection COUNTERCLOCKWISE = 1
Rotación en sentido contrario a las agujas del reloj. Utilizado por algunos métodos (p.ej. Image.rotate_90()).
enum HorizontalAlignment: 🔗
HorizontalAlignment HORIZONTAL_ALIGNMENT_LEFT = 0
Alineación horizontal izquierda, generalmente para clases de texto.
HorizontalAlignment HORIZONTAL_ALIGNMENT_CENTER = 1
Alineación central horizontal, generalmente para clases de texto.
HorizontalAlignment HORIZONTAL_ALIGNMENT_RIGHT = 2
Alineación horizontal derecha, generalmente para clases de texto.
HorizontalAlignment HORIZONTAL_ALIGNMENT_FILL = 3
Expandir fila para ajustar el ancho, generalmente para clases derivadas de texto.
enum VerticalAlignment: 🔗
VerticalAlignment VERTICAL_ALIGNMENT_TOP = 0
Alineación vertical superior, generalmente para clases de texto.
VerticalAlignment VERTICAL_ALIGNMENT_CENTER = 1
Alineación central vertical, normalmente para clases de texto.Alineacion central vertical, generalmente usada para clases derivadas de texto.
VerticalAlignment VERTICAL_ALIGNMENT_BOTTOM = 2
Alineación vertical inferior, generalmente para clases de texto.
VerticalAlignment VERTICAL_ALIGNMENT_FILL = 3
Expandir filas para ajustar la altura, generalmente para clases derivadas de texto.
enum InlineAlignment: 🔗
InlineAlignment INLINE_ALIGNMENT_TOP_TO = 0
Alinea la parte superior del objeto en línea (por ejemplo, imagen, tabla) a la posición del texto especificada por la constante INLINE_ALIGNMENT_TO_*.
InlineAlignment INLINE_ALIGNMENT_CENTER_TO = 1
Alinea la parte superior del objeto en línea (por ejemplo, imagen, tabla) a la posición del texto especificada por la constante INLINE_ALIGNMENT_TO_*.
InlineAlignment INLINE_ALIGNMENT_BASELINE_TO = 3
Alinea la línea base (definida por el usuario) del objeto en línea (por ejemplo, imagen, tabla) con la posición del texto especificado por la constante INLINE_ALIGNMENT_TO_*.
InlineAlignment INLINE_ALIGNMENT_BOTTOM_TO = 2
Alinea la parte inferior del objeto en línea (por ejemplo, imagen, tabla) con la posición del texto especificado por la constante INLINE_ALIGNMENT_TO_*.
InlineAlignment INLINE_ALIGNMENT_TO_TOP = 0
Alinea la posición del objeto en línea (por ejemplo, imagen, tabla) especificado por la constante INLINE_ALIGNMENT_*_TO en la parte superior del texto.
InlineAlignment INLINE_ALIGNMENT_TO_CENTER = 4
Alinea la posición del objeto en línea (por ejemplo, imagen, tabla) especificado por la constante INLINE_ALIGNMENT_*_TO al centro del texto.
InlineAlignment INLINE_ALIGNMENT_TO_BASELINE = 8
Alinea la posición del objeto en línea (por ejemplo, imagen, tabla) especificado por la constante INLINE_ALIGNMENT_*_TO con la línea base del texto.
InlineAlignment INLINE_ALIGNMENT_TO_BOTTOM = 12
Alinea el objeto en línea (por ejemplo, imagen, tabla) en la parte inferior del texto.
InlineAlignment INLINE_ALIGNMENT_TOP = 0
Alinea la parte superior del objeto en línea (p. ej., imagen, tabla) con la parte superior del texto. Equivalente a INLINE_ALIGNMENT_TOP_TO | INLINE_ALIGNMENT_TO_TOP.
InlineAlignment INLINE_ALIGNMENT_CENTER = 5
Alinea el centro del objeto en línea (p. ej., imagen, tabla) con el centro del texto. Equivalente a INLINE_ALIGNMENT_CENTER_TO | INLINE_ALIGNMENT_TO_CENTER.
InlineAlignment INLINE_ALIGNMENT_BOTTOM = 14
Alinea la parte inferior del objeto en línea (p. ej., imagen, tabla) con la parte inferior del texto. Equivalente a INLINE_ALIGNMENT_BOTTOM_TO | INLINE_ALIGNMENT_TO_BOTTOM.
InlineAlignment INLINE_ALIGNMENT_IMAGE_MASK = 3
Una máscara de bits para las constantes de alineación de INLINE_ALIGNMENT_*_TO.
InlineAlignment INLINE_ALIGNMENT_TEXT_MASK = 12
Una máscara de bits para las constantes de alineación de INLINE_ALIGNMENT_TO_*.
enum EulerOrder: 🔗
EulerOrder EULER_ORDER_XYZ = 0
Especifica que los ángulos de Euler deben estar en orden XYZ. Al componer, el orden es X, Y, Z. Al descomponer, el orden se invierte: primero Z, luego Y y, por último, X.
EulerOrder EULER_ORDER_XZY = 1
Especifica que los ángulos de Euler deben estar en orden XZY. Al componer, el orden es X, Z, Y. Al descomponer, el orden se invierte: primero Y, luego Z y, por último, X.
EulerOrder EULER_ORDER_YXZ = 2
Especifica que los ángulos de Euler deben estar en orden YXZ. Al componer, el orden es Y, X, Z. Al descomponer, el orden se invierte: primero Z, luego X y, por último, Y.
EulerOrder EULER_ORDER_YZX = 3
Especifica que los ángulos de Euler deben estar en orden YZX. Al componer, el orden es Y, Z, X. Al descomponer, el orden se invierte: primero X, luego Z y, por último, Y.
EulerOrder EULER_ORDER_ZXY = 4
Especifica que los ángulos de Euler deben estar en orden ZXY. Al componer, el orden es Z, X, Y. Al descomponer, el orden se invierte: primero Y, luego X y, por último, Z.
EulerOrder EULER_ORDER_ZYX = 5
Especifica que los ángulos de Euler deben estar en orden ZYX. Al componer, el orden es Z, Y, X. Al descomponer, el orden se invierte: primero X, luego Y y, por último, Z.
enum Key: 🔗
Key KEY_NONE = 0
Valor de enum que no corresponde a ninguna clave. Se utiliza para inicializar las propiedades Key con un estado genérico.
Key KEY_SPECIAL = 4194304
Los códigos clave con este bit aplicado no son imprimibles.
Key KEY_ESCAPE = 4194305
Tecla Escape.
Key KEY_TAB = 4194306
Tecla Tabulador.
Key KEY_BACKTAB = 4194307
Tecla Shift + Tab.
Key KEY_BACKSPACE = 4194308
Tecla Retroceso.
Key KEY_ENTER = 4194309
Devuelve la tecla (en el teclado principal).
Key KEY_KP_ENTER = 4194310
Pulsa la tecla en el teclado numerico.
Key KEY_INSERT = 4194311
Tecla Insertar.
Key KEY_DELETE = 4194312
Tecla Suprimir.
Key KEY_PAUSE = 4194313
Tecla Pausa.
Key KEY_PRINT = 4194314
Tecla Imprimir Pantalla.
Key KEY_SYSREQ = 4194315
Tecla Peticion de Sistema.
Key KEY_CLEAR = 4194316
Tecla Clear.
Key KEY_HOME = 4194317
Tecla Inicio.
Key KEY_END = 4194318
Tecla Fin.
Key KEY_LEFT = 4194319
Tecla Flecha Izquierda.
Key KEY_UP = 4194320
Tecla Flecha Arriba.
Key KEY_RIGHT = 4194321
Tecla flecha derecha.
Key KEY_DOWN = 4194322
Tecla Flecha abajo.
Key KEY_PAGEUP = 4194323
Tecla RePag.
Key KEY_PAGEDOWN = 4194324
Tecla AvPag.
Key KEY_SHIFT = 4194325
Tecla Shift.
Key KEY_CTRL = 4194326
Tecla Control.
Key KEY_META = 4194327
Tecla Meta.
Key KEY_ALT = 4194328
Tecla Alt.
Key KEY_CAPSLOCK = 4194329
Tecla Bloque Mayusculas.
Key KEY_NUMLOCK = 4194330
Tecla Bloque numerico.
Key KEY_SCROLLLOCK = 4194331
Tecla Bloqueo Scroll.
Key KEY_F1 = 4194332
Tecla F1.
Key KEY_F2 = 4194333
Tecla F2.
Key KEY_F3 = 4194334
Tecla F3.
Key KEY_F4 = 4194335
Tecla F4.
Key KEY_F5 = 4194336
Tecla F5.
Key KEY_F6 = 4194337
Tecla F6.
Key KEY_F7 = 4194338
Tecla F7.
Key KEY_F8 = 4194339
Tecla F8.
Key KEY_F9 = 4194340
Tecla F9.
Key KEY_F10 = 4194341
Tecla F10.
Key KEY_F11 = 4194342
Tecla F11.
Key KEY_F12 = 4194343
Tecla F12.
Key KEY_F13 = 4194344
Tecla F13.
Key KEY_F14 = 4194345
Tecla F14.
Key KEY_F15 = 4194346
Tecla F15.
Key KEY_F16 = 4194347
Tecla F16.
Key KEY_F17 = 4194348
Tecla F17.
Key KEY_F18 = 4194349
Tecla F18.
Key KEY_F19 = 4194350
Tecla F19.
Key KEY_F20 = 4194351
Tecla F20.
Key KEY_F21 = 4194352
Tecla F21.
Key KEY_F22 = 4194353
Tecla F22.
Key KEY_F23 = 4194354
Tecla F23.
Key KEY_F24 = 4194355
Tecla F24.
Key KEY_F25 = 4194356
Tecla F25. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F26 = 4194357
Tecla F26. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F27 = 4194358
Tecla F27. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F28 = 4194359
Tecla F28. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F29 = 4194360
Tecla F29. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F30 = 4194361
Tecla F30. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F31 = 4194362
Tecla F31. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F32 = 4194363
Tecla F32. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F33 = 4194364
Tecla F33. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F34 = 4194365
Tecla F34. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_F35 = 4194366
Tecla F35. Solo soportada en macOS y Linux por las limitaciones de Windows.
Key KEY_KP_MULTIPLY = 4194433
Tecla Multiplicar(*) del teclado numérico.
Key KEY_KP_DIVIDE = 4194434
Tecla Division(/) del teclado numérico.
Key KEY_KP_SUBTRACT = 4194435
Tecla Resta(-) del teclado numérico.
Key KEY_KP_PERIOD = 4194436
Tecla . decimal(.) del teclado numérico.
Key KEY_KP_ADD = 4194437
Tecla Suma(+) del teclado numérico.
Key KEY_KP_0 = 4194438
Tecla 0 del teclado numérico.
Key KEY_KP_1 = 4194439
Tecla 1 del teclado numérico.
Key KEY_KP_2 = 4194440
Tecla 2 del teclado numérico.
Key KEY_KP_3 = 4194441
Tecla 3 del teclado numérico.
Key KEY_KP_4 = 4194442
Tecla 4 del teclado numérico.
Key KEY_KP_5 = 4194443
Tecla 5 del teclado numérico.
Key KEY_KP_6 = 4194444
Tecla 6 del teclado numérico.
Key KEY_KP_7 = 4194445
Tecla 7 del teclado numérico.
Key KEY_KP_8 = 4194446
Tecla 8 del teclado numérico.
Key KEY_KP_9 = 4194447
Tecla 9 del teclado numérico.
Tecla Menu Contexto.
Key KEY_HYPER = 4194371
Tecla Hyper. (En Linux/X11 solo).
Key KEY_HELP = 4194373
Tecla Ayuda.
Key KEY_BACK = 4194376
Tecla de Retroceso.
Key KEY_FORWARD = 4194377
Tecla de Adelante.
Key KEY_STOP = 4194378
Tecla reproduccion parar.
Key KEY_REFRESH = 4194379
Tecla de Recarga.
Key KEY_VOLUMEDOWN = 4194380
Tecla Bajar Volumen.
Key KEY_VOLUMEMUTE = 4194381
Tecla Quitar Volumen.
Key KEY_VOLUMEUP = 4194382
Tecla Subir Volumen.
Key KEY_MEDIAPLAY = 4194388
Tecla de reproducción multimedia.
Key KEY_MEDIASTOP = 4194389
Tecla reproduccion parar.
Key KEY_MEDIAPREVIOUS = 4194390
Tecla de Canción anterior.
Key KEY_MEDIANEXT = 4194391
Tecla de Siguiente canción.
Key KEY_MEDIARECORD = 4194392
Tecla grabar.
Key KEY_HOMEPAGE = 4194393
Tecla Inicio.
Key KEY_FAVORITES = 4194394
Tecla Favoritos.
Key KEY_SEARCH = 4194395
Tecla Buscar.
Key KEY_STANDBY = 4194396
Tecla en espera(Standby).
Key KEY_OPENURL = 4194397
Tecla Abrir URL/Abrir el navegador.
Key KEY_LAUNCHMAIL = 4194398
Tecla Abrir el Correo.
Key KEY_LAUNCHMEDIA = 4194399
Tecla lanzar Media.
Key KEY_LAUNCH0 = 4194400
Tecla Acceso Directo 0.
Key KEY_LAUNCH1 = 4194401
Tecla Acceso Directo 1.
Key KEY_LAUNCH2 = 4194402
Tecla Acceso Directo 2.
Key KEY_LAUNCH3 = 4194403
Tecla Acceso Directo 3.
Key KEY_LAUNCH4 = 4194404
Tecla Acceso Directo 4.
Key KEY_LAUNCH5 = 4194405
Tecla Acceso Directo 5.
Key KEY_LAUNCH6 = 4194406
Tecla Acceso Directo 6.
Key KEY_LAUNCH7 = 4194407
Tecla Acceso Directo 7.
Key KEY_LAUNCH8 = 4194408
Tecla Acceso Directo 8.
Key KEY_LAUNCH9 = 4194409
Tecla Acceso Directo 9.
Key KEY_LAUNCHA = 4194410
Tecla Acceso Directo A.
Key KEY_LAUNCHB = 4194411
Tecla Acceso Directo B.
Key KEY_LAUNCHC = 4194412
Tecla Acceso Directo C.
Key KEY_LAUNCHD = 4194413
Tecla Acceso Directo D.
Key KEY_LAUNCHE = 4194414
Tecla Acceso Directo E.
Key KEY_LAUNCHF = 4194415
Tecla Acceso Directo F.
Key KEY_GLOBE = 4194416
Tecla "Globo" en el teclado de Mac / iPad.
Key KEY_KEYBOARD = 4194417
Tecla "Teclado en pantalla" en el teclado del iPad.
Key KEY_JIS_EISU = 4194418
Tecla 英数 en el teclado de Mac.
Key KEY_JIS_KANA = 4194419
Tecla かな en el teclado de Mac.
Key KEY_UNKNOWN = 8388607
Tecla desconocida.
Key KEY_SPACE = 32
Tecla Espaciado.
Key KEY_EXCLAM = 33
Tecla de signo de exclamación (!).
Key KEY_QUOTEDBL = 34
Tecla de comillas dobles (").
Key KEY_NUMBERSIGN = 35
Tecla de signo numérico o gato (#).
Key KEY_DOLLAR = 36
Tecla de signo de dólar ($).
Key KEY_PERCENT = 37
Tecla de signo de porcentaje (%).
Key KEY_AMPERSAND = 38
Tecla de et (&).
Key KEY_APOSTROPHE = 39
Tecla de apóstrofe (').
Key KEY_PARENLEFT = 40
Tecla de paréntesis izquierdo (().
Key KEY_PARENRIGHT = 41
Tecla de paréntesis derecho (``)``).
Key KEY_ASTERISK = 42
Tecla de asterisco (*).
Key KEY_PLUS = 43
Tecla de más (+).
Key KEY_COMMA = 44
Tecla de coma (,).
Key KEY_MINUS = 45
Tecla de menos (-).
Key KEY_PERIOD = 46
Tecla de punto (.).
Key KEY_SLASH = 47
Tecla de diagonal (/).
Key KEY_0 = 48
Techa numérica 0.
Key KEY_1 = 49
Techa numérica 1.
Key KEY_2 = 50
Techa numérica 2.
Key KEY_3 = 51
Techa numérica 3.
Key KEY_4 = 52
Techa numérica 4.
Key KEY_5 = 53
Techa numérica 5.
Key KEY_6 = 54
Techa numérica 6.
Key KEY_7 = 55
Techa numérica 7.
Key KEY_8 = 56
Techa numérica 8.
Key KEY_9 = 57
Techa numérica 9.
Key KEY_COLON = 58
Tecla de dos puntos (:).
Key KEY_SEMICOLON = 59
Tecla de punto y coma (;).
Key KEY_LESS = 60
Tecla menor que (<).
Key KEY_EQUAL = 61
Signo de igualdad (==).
Key KEY_GREATER = 62
Tecla mayor que (>).
Key KEY_QUESTION = 63
Tecla de signo de interrogación (?).
Key KEY_AT = 64
Tecla de signo arroba (@).
Key KEY_A = 65
Tecla A.
Key KEY_B = 66
Tecla B.
Key KEY_C = 67
Tecla C.
Key KEY_D = 68
Tecla D.
Key KEY_E = 69
Tecla E.
Key KEY_F = 70
Tecla F.
Key KEY_G = 71
Tecla G.
Key KEY_H = 72
Tecla H.
Key KEY_I = 73
Tecla I.
Key KEY_J = 74
Tecla J.
Key KEY_K = 75
Tecla K.
Key KEY_L = 76
Tecla L.
Key KEY_M = 77
Tecla M.
Key KEY_N = 78
Tecla N.
Key KEY_O = 79
Tecla O.
Key KEY_P = 80
Tecla P.
Key KEY_Q = 81
Tecla Q.
Key KEY_R = 82
Tecla R.
Key KEY_S = 83
Tecla S.
Key KEY_T = 84
Tecla T.
Key KEY_U = 85
Tecla U.
Key KEY_V = 86
Tecla V.
Key KEY_W = 87
Tecla W.
Key KEY_X = 88
Tecla X.
Key KEY_Y = 89
Tecla Y.
Key KEY_Z = 90
Tecla Z.
Key KEY_BRACKETLEFT = 91
Tecla de corchete izquierdo ([lb]).
Key KEY_BACKSLASH = 92
Tecla de diagonal invertida (\).
Key KEY_BRACKETRIGHT = 93
Tecla de corchete derecho ([rb]).
Key KEY_ASCIICIRCUM = 94
Tecla de circunflejo (^).
Key KEY_UNDERSCORE = 95
Tecla de guión bajo (_).
Key KEY_QUOTELEFT = 96
Tecla de acento grave (`).
Key KEY_BRACELEFT = 123
Tecla de llave izquierda ({).
Key KEY_BAR = 124
Tecla de barra vertical o pipe (|).
Key KEY_BRACERIGHT = 125
Tecla de llave derecha (}).
Key KEY_ASCIITILDE = 126
Tecla de virgulilla (~).
Key KEY_YEN = 165
Tecla de símbolo del yen (¥).
Key KEY_SECTION = 167
Signo de sección (§).
flags KeyModifierMask: 🔗
KeyModifierMask KEY_CODE_MASK = 8388607
Máscara de código de tecla.
KeyModifierMask KEY_MODIFIER_MASK = 2130706432
Máscara modificadora de tecla.
KeyModifierMask KEY_MASK_CMD_OR_CTRL = 16777216
Es automáticamente redirigido a KEY_META en macOS y a KEY_CTRL en otras plataformas. Nunca se le da valor a la mascara en eventos reales y solo debe ser usada para redirecciones.
KeyModifierMask KEY_MASK_SHIFT = 33554432
Máscara de la tecla Shift.
KeyModifierMask KEY_MASK_ALT = 67108864
Máscara de la tecla Alt u Option (en macOS).
KeyModifierMask KEY_MASK_META = 134217728
Máscara de la tecla Command (en macOS) o Meta/Windows.
KeyModifierMask KEY_MASK_CTRL = 268435456
Máscara de la tecla Control.
KeyModifierMask KEY_MASK_KPAD = 536870912
Keypad key mask.
KeyModifierMask KEY_MASK_GROUP_SWITCH = 1073741824
Máscara de la tecla de cambio de grupo.
enum KeyLocation: 🔗
KeyLocation KEY_LOCATION_UNSPECIFIED = 0
Se usa para teclas que solo aparecen una vez (como 'A', 'B', 'C'...), o cuando no es necesario diferenciar entre la izquierda/LEFT y la derecha/RIGHT (Ctrl, Shift...).
Por ejemplo, al utilizar InputEvent.is_match(), cualquier valor de KeyLocation capturará un evento con KEY_LOCATION_UNSPECIFIED.
KeyLocation KEY_LOCATION_LEFT = 1
Una tecla que está a la izquierda de su gemela.
KeyLocation KEY_LOCATION_RIGHT = 2
Una tecla que está a la derecha de su idéntica.
enum MouseButton: 🔗
MouseButton MOUSE_BUTTON_NONE = 0
Valor enum que no corresponde a ningún botón del ratón. Esto se utiliza para inicializar propiedades de tipo MouseButton con un valor genérico.
MouseButton MOUSE_BUTTON_LEFT = 1
Botón principal del ratón, normalmente es el botón izquierdo.
MouseButton MOUSE_BUTTON_RIGHT = 2
Botón secundario del ratón, normalmente es el botón derecho.
MouseButton MOUSE_BUTTON_MIDDLE = 3
Botón central del ratón.
MouseButton MOUSE_BUTTON_WHEEL_UP = 4
Desplazamiento hacia arriba de la rueda del ratón.
MouseButton MOUSE_BUTTON_WHEEL_DOWN = 5
Desplazamiento hacia abajo de la rueda del ratón.
MouseButton MOUSE_BUTTON_WHEEL_LEFT = 6
Botón izquierdo de la rueda del ratón (sólo presente en algunos ratones).
MouseButton MOUSE_BUTTON_WHEEL_RIGHT = 7
Botón derecho de la rueda del ratón (sólo presente en algunos ratones).
MouseButton MOUSE_BUTTON_XBUTTON1 = 8
Botón extra del ratón 1. Este botón a veces está presente, normalmente a los lados del ratón.
MouseButton MOUSE_BUTTON_XBUTTON2 = 9
Botón extra del ratón 2. Este botón a veces está presente, normalmente a los lados del ratón.
flags MouseButtonMask: 🔗
MouseButtonMask MOUSE_BUTTON_MASK_LEFT = 1
Máscara para el botón principal del ratón, normalmente el izquierdo.
MouseButtonMask MOUSE_BUTTON_MASK_RIGHT = 2
Máscara para el botón secundario del ratón, normalmente el derecho.
MouseButtonMask MOUSE_BUTTON_MASK_MIDDLE = 4
Máscara del botón central del ratón.
MouseButtonMask MOUSE_BUTTON_MASK_MB_XBUTTON1 = 128
Botón de ratón extra 1 máscara.
MouseButtonMask MOUSE_BUTTON_MASK_MB_XBUTTON2 = 256
Máscara de botón de ratón extra 2.
enum JoyButton: 🔗
JoyButton JOY_BUTTON_INVALID = -1
Un botón no válido del mando de juego.
JoyButton JOY_BUTTON_A = 0
Botón A de mando SDL. Corresponde al botón de abajo: X en Sony, A en Xbox, B en Nintendo.
JoyButton JOY_BUTTON_B = 1
Botón B de mando SDL. Corresponde al botón de la derecha: 🞅 en Sony, B en Xbox, A en Nintendo.
JoyButton JOY_BUTTON_X = 2
Botón X de mando SDL. Corresponde al botón de la izquierda: ◻ en Sony, X en Xbox, Y en Nintendo.
JoyButton JOY_BUTTON_Y = 3
Botón Y de mando SDL. Corresponde al botón de arriba: △ en Sony, Y en Xbox, X en Nintendo.
JoyButton JOY_BUTTON_BACK = 4
Botón "Back" (volver) de mando SDL. Corresponde al botón Select en Sony, Back en Xbox, - en Nintendo.
JoyButton JOY_BUTTON_GUIDE = 5
Botón "Guide" de mando SDL. Corresponde al botón PS en Sony, Home en Xbox.
JoyButton JOY_BUTTON_START = 6
Botón start de mando SDL. Corresponde al botón Options en Sony, Menu en Xbox, + en Nintendo.
JoyButton JOY_BUTTON_LEFT_STICK = 7
Botón del joystick izquierdo de mando SDL. Corresponde a L3 en Sony, L/LS en Xbox.
JoyButton JOY_BUTTON_RIGHT_STICK = 8
Botón del joystick derecho de mando SDL. Corresponde a R3 en Sony, R/RS en Xbox.
JoyButton JOY_BUTTON_LEFT_SHOULDER = 9
Botón del gatillo izquierdo de mando SDL. Corresponde a L1 en Sony, LB en Xbox.
JoyButton JOY_BUTTON_RIGHT_SHOULDER = 10
Botón del gatillo derecho de mando SDL. Corresponde a R1 en Sony, RB en Xbox.
JoyButton JOY_BUTTON_DPAD_UP = 11
Botón de arriba del D-pad del mando.
JoyButton JOY_BUTTON_DPAD_DOWN = 12
Botón de abajo del D-pad del mando.
JoyButton JOY_BUTTON_DPAD_LEFT = 13
Botón izquierdo del D-pad del mando.
JoyButton JOY_BUTTON_DPAD_RIGHT = 14
Botón derecho del D-pad del mando.
JoyButton JOY_BUTTON_MISC1 = 15
Botón misceláneo de mando SDL. Corresponde a botón de compartir en Xbox, botón del micrófono en PS5, botón de captura en Nintendo Switch.
JoyButton JOY_BUTTON_PADDLE1 = 16
Botón de paleta 1 del mando SDL.
JoyButton JOY_BUTTON_PADDLE2 = 17
Botón de paleta 2 del mando SDL.
JoyButton JOY_BUTTON_PADDLE3 = 18
Botón de paleta 3 del mando SDL.
JoyButton JOY_BUTTON_PADDLE4 = 19
Botón de paleta 4 del mando SDL.
JoyButton JOY_BUTTON_TOUCHPAD = 20
Botón del panel táctil del mando SDL.
JoyButton JOY_BUTTON_SDL_MAX = 21
El número de botones del mando SDL.
JoyButton JOY_BUTTON_MAX = 128
El número límite de botones de mando que el motor reconoce. El límite real podría ser menor dependiendo de la plataforma:
Android: Hasta 36 botones.
Linux: Hasta 80 botones.
Windows and macOS: Hasta 128 botones.
enum JoyAxis: 🔗
JoyAxis JOY_AXIS_INVALID = -1
Un eje de mando no válido.
JoyAxis JOY_AXIS_LEFT_X = 0
Eje X del joystick izquierdo del mando.
JoyAxis JOY_AXIS_LEFT_Y = 1
Eje Y del joystick izquierdo del mando.
JoyAxis JOY_AXIS_RIGHT_X = 2
Eje X del joystick derecho del mando.
JoyAxis JOY_AXIS_RIGHT_Y = 3
Eje Y del joystick derecho del mando.
JoyAxis JOY_AXIS_TRIGGER_LEFT = 4
Eje del gatillo izquierdo del mando.
JoyAxis JOY_AXIS_TRIGGER_RIGHT = 5
Eje del gatillo derecho del mando.
JoyAxis JOY_AXIS_SDL_MAX = 6
El número de ejes del mando SDL.
JoyAxis JOY_AXIS_MAX = 10
El número límite de ejes del mando: en OpenVR se pueden usar hasta 5 Joysticks, siendo el total 10 ejes.
enum MIDIMessage: 🔗
MIDIMessage MIDI_MESSAGE_NONE = 0
No tiene ningún significado. Es el valor por defecto de InputEventMIDI.message.
MIDIMessage MIDI_MESSAGE_NOTE_OFF = 8
Mensaje MIDI enviado cuando se suelta una nota.
Nota: No todos los dispositivos MIDI envían este mensaje; algunos pueden enviar MIDI_MESSAGE_NOTE_ON con InputEventMIDI.velocity establecido en 0.
MIDIMessage MIDI_MESSAGE_NOTE_ON = 9
Mensaje MIDI enviado cuando se presiona una tecla.
MIDIMessage MIDI_MESSAGE_AFTERTOUCH = 10
Mensaje MIDI enviado para indicar un cambio en la presión de una tecla pulsada, también conocido como aftertouch.
MIDIMessage MIDI_MESSAGE_CONTROL_CHANGE = 11
Mensaje MIDI enviado cuando cambia el valor de un controlador. En un dispositivo MIDI, un controlador es cualquier entrada que no reproduce notas. Estos pueden incluir controles de volumen, balance y panorama, así como interruptores y pedales. Consulta la especificación General MIDI para obtener una lista breve.
MIDIMessage MIDI_MESSAGE_PROGRAM_CHANGE = 12
Mensaje MIDI enviado cuando el dispositivo MIDI cambia su instrumento actual (también llamado programa o ajuste predefinido).
MIDIMessage MIDI_MESSAGE_CHANNEL_PRESSURE = 13
Mensaje MIDI enviado para indicar un cambio de presión en todo el canal. Algunos dispositivos MIDI pueden enviar esto en lugar de MIDI_MESSAGE_AFTERTOUCH.
MIDIMessage MIDI_MESSAGE_PITCH_BEND = 14
Mensaje MIDI enviado cuando cambia el valor del pitch bender, generalmente una rueda en el dispositivo MIDI.
MIDIMessage MIDI_MESSAGE_SYSTEM_EXCLUSIVE = 240
Mensaje exclusivo del sistema MIDI (SysEx). Este tipo de mensaje no está estandarizado y depende en gran medida del dispositivo MIDI que lo envía.
Nota: No se ha implementado la obtención de los datos de este mensaje desde InputEventMIDI.
MIDIMessage MIDI_MESSAGE_QUARTER_FRAME = 241
Mensaje MIDI enviado cada cuarto de fotograma para mantener sincronizados los dispositivos MIDI conectados. Relacionado con MIDI_MESSAGE_TIMING_CLOCK.
Nota: No se ha implementado la obtención de los datos de este mensaje desde InputEventMIDI.
MIDIMessage MIDI_MESSAGE_SONG_POSITION_POINTER = 242
Mensaje MIDI enviado para saltar a una nueva posición en la secuencia o canción actual.
Nota: No se ha implementado la obtención de los datos de este mensaje desde InputEventMIDI.
MIDIMessage MIDI_MESSAGE_SONG_SELECT = 243
Mensaje MIDI enviado para seleccionar una secuencia o canción para reproducir.
Nota: La obtención de los datos de este mensaje de InputEventMIDI no está implementada.
MIDIMessage MIDI_MESSAGE_TUNE_REQUEST = 246
Mensaje MIDI enviado para solicitar una calibración de afinación. Se utiliza en sintetizadores analógicos. La mayoría de los dispositivos MIDI modernos no requieren este mensaje.
MIDIMessage MIDI_MESSAGE_TIMING_CLOCK = 248
Mensaje MIDI enviado 24 veces después de MIDI_MESSAGE_QUARTER_FRAME, para mantener sincronizados los dispositivos MIDI conectados.
MIDIMessage MIDI_MESSAGE_START = 250
Mensaje MIDI enviado para iniciar la secuencia o canción actual desde el principio.
MIDIMessage MIDI_MESSAGE_CONTINUE = 251
Mensaje MIDI enviado para reanudar la secuencia o canción actual desde el punto en que se pausó.
MIDIMessage MIDI_MESSAGE_STOP = 252
Mensaje MIDI enviado para pausar la secuencia o canción actual.
MIDIMessage MIDI_MESSAGE_ACTIVE_SENSING = 254
Mensaje MIDI enviado repetidamente mientras el dispositivo MIDI está inactivo, para indicar al receptor que la conexión sigue activa. La mayoría de los dispositivos MIDI no envían este mensaje.
MIDIMessage MIDI_MESSAGE_SYSTEM_RESET = 255
Mensaje MIDI enviado para restablecer un dispositivo MIDI a su estado predeterminado, como si recién se hubiera encendido. No debe enviarse al encender el dispositivo MIDI.
enum Error: 🔗
Error OK = 0
Los métodos que devuelven Error devuelven OK cuando no se ha producido ningún error.
Dado que OK tiene el valor 0, y todas las demás constantes de error son enteros positivos, también se puede utilizar en comprobaciones booleanas.
var error = method_that_returns_error()
if error != OK:
printerr("¡Fallo!")
# O, alternativamente:
if error:
printerr("¡Sigue fallando!")
Nota: Muchas funciones no devuelven un código de error, sino que imprimen mensajes de error en la salida estándar.
Error FAILED = 1
Error genérico.
Error no disponible.
Error ERR_UNCONFIGURED = 3
Error sin configurar.
Error ERR_UNAUTHORIZED = 4
Error no autorizado.
Error ERR_PARAMETER_RANGE_ERROR = 5
Error de rango de parámetros.
Error ERR_OUT_OF_MEMORY = 6
Error de falta de memoria (OOM).
Error ERR_FILE_NOT_FOUND = 7
Archivo: Error archivo no encontrado.
Error ERR_FILE_BAD_DRIVE = 8
Archivo: Error de unidad defectuosa.
Error ERR_FILE_BAD_PATH = 9
Archivo: Error ruta incorrecta.
Error ERR_FILE_NO_PERMISSION = 10
Archivo: Error sin permiso.
Error ERR_FILE_ALREADY_IN_USE = 11
Archivo: Error archivo ya esta siendo usado.
Error ERR_FILE_CANT_OPEN = 12
Archivo: Error no se puede abrir.
Error ERR_FILE_CANT_WRITE = 13
Archivo: Error no se puede escribir.
Error ERR_FILE_CANT_READ = 14
Archivo: Error no se puede leer.
Error ERR_FILE_UNRECOGNIZED = 15
Archivo: Error no reconocido.
Error ERR_FILE_CORRUPT = 16
Archivo: Error de corrupción.
Error ERR_FILE_MISSING_DEPENDENCIES = 17
Archivo: Error no se encuentran las dependencias.
Error ERR_FILE_EOF = 18
Archivo: Error Fin de fichero (EOF).
Error ERR_CANT_OPEN = 19
Error: No se puede abrir.
Error ERR_CANT_CREATE = 20
Error: No se puede crear.
Error ERR_QUERY_FAILED = 21
Error: Fallo en la consulta.
Error ERR_ALREADY_IN_USE = 22
Error: Ya está en uso.
Error ERR_LOCKED = 23
Error Bloqueado (Locked error).
Error ERR_TIMEOUT = 24
Error: Tiempo de espera excedido.
Error ERR_CANT_CONNECT = 25
Error: No se puede conectar.
Error ERR_CANT_RESOLVE = 26
Error: No se puede resolver.
Error ERR_CONNECTION_ERROR = 27
Error de conexión.
Error ERR_CANT_ACQUIRE_RESOURCE = 28
Error: No se pudo adquirir el recurso.
Error ERR_CANT_FORK = 29
Error: No se pudo bifurcar el proceso.
Error ERR_INVALID_DATA = 30
Error de datos inválidos.
Error ERR_INVALID_PARAMETER = 31
Error de parámetro inválido.
Error ERR_ALREADY_EXISTS = 32
Error: Ya existe.
Error ERR_DOES_NOT_EXIST = 33
Error: No existe.
Error ERR_DATABASE_CANT_READ = 34
Base de datos: Error de lectura.
Error ERR_DATABASE_CANT_WRITE = 35
Base de datos: Error de escritura.
Error ERR_COMPILATION_FAILED = 36
Error de compilación fallida.
Error ERR_METHOD_NOT_FOUND = 37
Error: Método no encontrado.
Error ERR_LINK_FAILED = 38
Error de enlace fallido.
Error ERR_SCRIPT_FAILED = 39
Error de script fallido.
Error ERR_CYCLIC_LINK = 40
Error de enlazado cíclico (import cycle).
Error ERR_INVALID_DECLARATION = 41
Error de declaración inválida.
Error ERR_DUPLICATE_SYMBOL = 42
Error de símbolo duplicado.
Error ERR_PARSE_ERROR = 43
Error de análisis.
Error ERR_BUSY = 44
Error recurso ocupado.
Error ERR_SKIP = 45
Error de omisión.
Error ERR_HELP = 46
Error de ayuda. Se usa internamente al pasar --version o --help como opciones ejecutables.
Error ERR_BUG = 47
Error causado por un problema de implementación en el método.
Nota: Si un método integrado devuelve este código, por favor abre una incidencia en el Rastreador de incidencias de GitHub.
Error ERR_PRINTER_ON_FIRE = 48
Error de impresora en llamas. (Este es un huevo de pascua, ningún método del motor devuelve este código de error).
enum PropertyHint: 🔗
PropertyHint PROPERTY_HINT_NONE = 0
La propiedad no tiene ninguna sugerencia para el editor.
PropertyHint PROPERTY_HINT_RANGE = 1
Indica que una propiedad int o float debe estar dentro de un rango especificado mediante la string de pista "min,max" o "min,max,step". La string de pista puede incluir opcionalmente "or_greater" y/o "or_less" para permitir la entrada manual que vaya, respectivamente, por encima del valor máximo o por debajo del valor mínimo.
Ejemplo: "-360,360,1,or_greater,or_less".
Además, se pueden incluir otras palabras clave: "exp" para la edición de rango exponencial, "radians_as_degrees" para editar ángulos en radianes en grados (los valores del rango también están en grados), "degrees" para sugerir un ángulo, "prefer_slider" para mostrar el deslizador para enteros, "hide_control" para ocultar el deslizador o las flechas de subir/bajar, y "suffix:px/s" para mostrar un sufijo que indique la unidad del valor (p. ej., px/s para píxeles por segundo).
PropertyHint PROPERTY_HINT_ENUM = 2
Indica que una propiedad int, String o StringName es un valor enumerado que se selecciona en una lista especificada mediante una string de pista.
La string de pista es una lista de nombres separados por comas, como "Hello,Something,Else". Los espacios en blanco no se eliminan de ninguno de los extremos de un nombre. Para las propiedades enteras, el primer nombre de la lista tiene el valor 0, el siguiente 1, y así sucesivamente. También se pueden especificar valores explícitos añadiendo :integer al nombre, por ejemplo, "Zero,One,Three:3,Four,Six:6".
PropertyHint PROPERTY_HINT_ENUM_SUGGESTION = 3
Indica que una propiedad String o StringName puede ser un valor enumerado para elegir en una lista especificada a través de una string de pista como "Hola,algo,más". Véase PROPERTY_HINT_ENUM para más detalles.
A diferencia de PROPERTY_HINT_ENUM, una propiedad con esta pista sigue aceptando valores arbitrarios y puede estar vacía. La lista de valores sirve para sugerir posibles valores.
PropertyHint PROPERTY_HINT_EXP_EASING = 4
Sugiere que una propiedad float debe ser editada mediante una función de atenuación exponencial. La string de pista puede incluir "attenuation" para voltear la curva horizontalmente y/o "positive_only" para excluir la atenuación de entrada/salida y limitar los valores para que sean mayores o iguales a cero.
PropertyHint PROPERTY_HINT_LINK = 5
Sugiere que una propiedad vectorial debe permitir que sus componentes se enlacen. Por ejemplo, esto permite que Vector2.x y Vector2.y se editen juntos.
PropertyHint PROPERTY_HINT_FLAGS = 6
Indica que una propiedad int es una máscara de bits con bits con nombre.
La string de sugerencia es una lista de nombres separada por comas, por ejemplo "Bit0,Bit1,Bit2,Bit3". Los espacios en blanco no se eliminan de ninguno de los extremos de un nombre. El primer nombre de la lista tiene el valor 1, el siguiente 2, luego 4, 8, 16, y así sucesivamente. También se pueden especificar valores explícitos añadiendo :integer al nombre, p. ej. "A:4,B:8,C:16". También puedes combinar varias banderas ("A:4,B:8,AB:12,C:16").
Nota: El valor de una bandera debe ser al menos 1 y como máximo 2 ** 32 - 1.
Nota: A diferencia de PROPERTY_HINT_ENUM, el valor explícito previo no se tiene en cuenta. Para la string de sugerencia "A:16,B,C", A es 16, B es 2, C es 4.
PropertyHint PROPERTY_HINT_LAYERS_2D_RENDER = 7
Indica que una propiedad int es una máscara de bits usando las, opcionalmente nombradas, capas de renderizado 2D.
PropertyHint PROPERTY_HINT_LAYERS_2D_PHYSICS = 8
Indica que una propiedad int es una máscara de bits usando las, opcionalmente nombradas, capas de física 2D.
Sugiere que una propiedad int es una máscara de bits que utiliza las capas de navegación 2D, opcionalmente nombradas.
PropertyHint PROPERTY_HINT_LAYERS_3D_RENDER = 10
Sugiere que una propiedad int es una máscara de bits que utiliza las capas de renderizado 3D, opcionalmente nombradas.
PropertyHint PROPERTY_HINT_LAYERS_3D_PHYSICS = 11
Sugiere que una propiedad int es una máscara de bits que utiliza las capas físicas 3D, opcionalmente nombradas.
Sugiere que una propiedad int es una máscara de bits utilizando las capas de navegación 3D con nombres opcionales.
PropertyHint PROPERTY_HINT_LAYERS_AVOIDANCE = 37
Sugiere que una propiedad entera es una máscara de bits utilizando las capas de evitación con nombres opcionales.
PropertyHint PROPERTY_HINT_FILE = 13
Sugiere que una propiedad String es una ruta a un archivo. Editarla mostrará un diálogo de archivo para seleccionar la ruta. La string de sugerencia puede ser un conjunto de filtros con comodines como "*.png,*.jpg". Por defecto, el archivo se guardará como UID siempre que esté disponible. Puedes usar los métodos ResourceUID para convertirlo de nuevo a la ruta. Para guardar una ruta raw, usa PROPERTY_HINT_FILE_PATH.
PropertyHint PROPERTY_HINT_DIR = 14
Sugiere que una propiedad String es una ruta a un directorio. Editarla mostrará un diálogo de archivo para seleccionar la ruta.
PropertyHint PROPERTY_HINT_GLOBAL_FILE = 15
Sugiere que una propiedad String es una ruta absoluta a un archivo fuera de la carpeta del proyecto. Editarla mostrará un diálogo de archivo para seleccionar la ruta. La string de sugerencia puede ser un conjunto de filtros con comodines como "*.png,*.jpg".
PropertyHint PROPERTY_HINT_GLOBAL_DIR = 16
Sugiere que una propiedad de tipo String es una ruta absoluta a un directorio fuera de la carpeta del proyecto. Al editarla, se mostrará un diálogo de archivo para seleccionar la ruta.
PropertyHint PROPERTY_HINT_RESOURCE_TYPE = 17
Sugiere que una propiedad es una instancia de un tipo derivado de Resource, opcionalmente especificado a través de la string de sugerencia (p. ej., "Texture2D"). Al editarla, se mostrará un menú emergente de tipos de recursos válidos para instanciar.
PropertyHint PROPERTY_HINT_MULTILINE_TEXT = 18
Indica que una propiedad String es texto con saltos de línea. Al editarla, aparecerá un campo de entrada de texto en el que se pueden escribir saltos de línea.
La string de sugerencia se puede establecer en "monospace" para forzar que el campo de entrada utilice una fuente monoespaciada.
Si se establece la string de sugerencia "no_wrap", el campo de entrada no ajustará las líneas en los límites, sino que recurrirá a hacer que el área sea desplazable.
PropertyHint PROPERTY_HINT_EXPRESSION = 19
Indica que una propiedad String es una Expression.
PropertyHint PROPERTY_HINT_PLACEHOLDER_TEXT = 20
Sugiere que una propiedad de tipo String debe mostrar un texto de marcador de posición en su campo de entrada si está vacío. La string de sugerencia es el texto de marcador de posición que se usará.
PropertyHint PROPERTY_HINT_COLOR_NO_ALPHA = 21
Sugiere que una propiedad de tipo Color debe editarse sin afectar su transparencia (Color.a no es editable).
PropertyHint PROPERTY_HINT_OBJECT_ID = 22
Indica que el valor de la propiedad es un objeto codificado como ID de objeto, con su tipo especificado en la string de indicación. Usado por el depurador.
PropertyHint PROPERTY_HINT_TYPE_STRING = 23
Si una propiedad es String, indica que la propiedad representa un tipo particular (clase). Esto permite seleccionar un tipo desde el diálogo de creación. La propiedad almacenará el tipo seleccionado como una string.
Si una propiedad es Array, indica al editor cómo mostrar los elementos. hint_string debe codificar tipos anidados usando ":" y "/".
Si una propiedad es Dictionary, indica al editor cómo mostrar los elementos. hint_string es lo mismo que Array, con un ";" separando la clave y el valor.
# Array de elem_type.
hint_string = "%d:" % [elem_type]
hint_string = "%d/%d:%s" % [elem_type, elem_hint, elem_hint_string]
# Array bidimensional de elem_type (array de arrays de 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]
# Array tridimensional de elem_type (array de arrays de arrays de elem_type).
hint_string = "%d:%d:%d:" % [TYPE_ARRAY, TYPE_ARRAY, elem_type]
hint_string = "%d:%d:%d/%d:%s" % [TYPE_ARRAY, TYPE_ARRAY, elem_type, elem_hint, elem_hint_string]
// Array de elemType.
hintString = $"{elemType:D}:";
hintString = $"{elemType:}/{elemHint:D}:{elemHintString}";
// Array bidimensional de elemType (array de arrays de elemType).
hintString = $"{Variant.Type.Array:D}:{elemType:D}:";
hintString = $"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
// Array tridimensional de elemType (array de arrays de arrays de elemType).
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:";
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
Ejemplos:
hint_string = "%d:" % [TYPE_INT] # Array de enteros.
hint_string = "%d/%d:1,10,1" % [TYPE_INT, PROPERTY_HINT_RANGE] # Array de enteros (en el rango de 1 a 10).
hint_string = "%d/%d:Zero,One,Two" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array de enteros (un enum).
hint_string = "%d/%d:Zero,One,Three:3,Six:6" % [TYPE_INT, PROPERTY_HINT_ENUM] # Array de enteros (un enum).
hint_string = "%d/%d:*.png" % [TYPE_STRING, PROPERTY_HINT_FILE] # Array de strings (rutas de archivos).
hint_string = "%d/%d:Texture2D" % [TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Array de texturas.
hint_string = "%d:%d:" % [TYPE_ARRAY, TYPE_FLOAT] # Array bidimensional de floats.
hint_string = "%d:%d/%d:" % [TYPE_ARRAY, TYPE_STRING, PROPERTY_HINT_MULTILINE_TEXT] # Array bidimensional de strings multilínea.
hint_string = "%d:%d/%d:-1,1,0.1" % [TYPE_ARRAY, TYPE_FLOAT, PROPERTY_HINT_RANGE] # Array bidimensional de floats (en rango de -1 a 1).
hint_string = "%d:%d/%d:Texture2D" % [TYPE_ARRAY, TYPE_OBJECT, PROPERTY_HINT_RESOURCE_TYPE] # Array bidimensional de texturas.
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1"; // Array de enteros (en rango de 1 a 10).
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Two"; // Array de enteros (un enum).
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6"; // Array de enteros (un enum).
hintString = $"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png"; // Array de strings (rutas de archivos).
hintString = $"{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Array de texturas.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}:"; // Array bidimensional de floats.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.String:D}/{PropertyHint.MultilineText:D}:"; // Array bidimensional de strings multilínea.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}/{PropertyHint.Range:D}:-1,1,0.1"; // Array bidimensional de floats (en rango de -1 a 1).
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Array bidimensional de texturas.
Nota: Los dos puntos finales son necesarios para detectar correctamente los tipos integrados.
PropertyHint PROPERTY_HINT_NODE_PATH_TO_EDITED_NODE = 24
Obsoleto: This hint is not used by the engine.
PropertyHint PROPERTY_HINT_OBJECT_TOO_BIG = 25
Indica que un objeto es demasiado grande para ser enviado a través del depurador.
PropertyHint PROPERTY_HINT_NODE_PATH_VALID_TYPES = 26
Indica que la string de indicación especifica tipos de nodos válidos para una propiedad de tipo NodePath.
PropertyHint PROPERTY_HINT_SAVE_FILE = 27
Sugiere que una propiedad de tipo String es una ruta a un archivo. Al editarla, se mostrará un diálogo de archivo para seleccionar la ruta del archivo que se guardará. El diálogo tiene acceso al directorio del proyecto. La string de sugerencia puede ser un conjunto de filtros con comodines como "*.png,*.jpg". Véase también FileDialog.filters.
PropertyHint PROPERTY_HINT_GLOBAL_SAVE_FILE = 28
Sugiere que una propiedad de tipo String es una ruta a un archivo. Al editarla, se mostrará un diálogo de archivo para seleccionar la ruta del archivo que se guardará. El diálogo tiene acceso a todo el sistema de archivos. La string de sugerencia puede ser un conjunto de filtros con comodines como "*.png,*.jpg". Véase también FileDialog.filters.
PropertyHint PROPERTY_HINT_INT_IS_OBJECTID = 29
Obsoleto: This hint is not used by the engine.
PropertyHint PROPERTY_HINT_INT_IS_POINTER = 30
Sugiere que una propiedad int es un puntero. Usado por GDExtension.
PropertyHint PROPERTY_HINT_ARRAY_TYPE = 31
Sugiere que una propiedad es un Array con el tipo almacenado especificado en la string de sugerencia. La string de sugerencia contiene el tipo del array (ej. "String").
Utiliza el formato de string de sugerencia de PROPERTY_HINT_TYPE_STRING para tener más control sobre el tipo almacenado.
PropertyHint PROPERTY_HINT_DICTIONARY_TYPE = 38
Indica que una propiedad es un Dictionary que contiene tipos específicos usando una string. La string contiene una clave y valor separados por punto y coma (p. ej. "int;String").
Usa el formato de string de pista de PROPERTY_HINT_TYPE_STRING para un mayor control sobre los tipos almacenados.
PropertyHint PROPERTY_HINT_LOCALE_ID = 32
Sugiere que una propiedad de tipo string es un código de configuración regional. Al editarla, se mostrará un diálogo de configuración regional para seleccionar el idioma y el país.
PropertyHint PROPERTY_HINT_LOCALIZABLE_STRING = 33
Indica que una propiedad tipo diccionario es un mapa de traducción de strings. Las claves del diccionario son códigos de idioma y los valores son las strings traducidas.
PropertyHint PROPERTY_HINT_NODE_TYPE = 34
Sugiere que una propiedad es una instancia de un tipo derivado de Node, especificado opcionalmente a través de la string de sugerencias (p. ej., "Node2D"). Al editarla, se mostrará un diálogo para seleccionar un nodo de la escena.
PropertyHint PROPERTY_HINT_HIDE_QUATERNION_EDIT = 35
Indica que una propiedad de tipo cuaternión debe desactivar el editor temporal de ángulos de Euler.
PropertyHint PROPERTY_HINT_PASSWORD = 36
Indica que una propiedad de tipo string es una contraseña, y cada carácter se reemplaza con un carácter secreto.
PropertyHint PROPERTY_HINT_TOOL_BUTTON = 39
Sugiere que una propiedad Callable debe mostrarse como un botón presionable. Cuando se presiona el botón, se llama al invocable. La string de sugerencia especifica el texto del botón y, opcionalmente, un icono del tipo de tema "EditorIcons".
"¡Haz clic aquí!" - Un botón con el texto "¡Haz clic aquí!" y el icono "Callable" predeterminado.
"¡Haz clic aquí!,ColorRect" - Un botón con el texto "¡Haz clic aquí!" y el icono "ColorRect".
Nota: Un Callable no puede ser serializado y almacenado correctamente en un archivo, por lo que se recomienda utilizar PROPERTY_USAGE_EDITOR en lugar de PROPERTY_USAGE_DEFAULT.
PropertyHint PROPERTY_HINT_ONESHOT = 40
Sugiere que una propiedad cambiará por sí sola después de la configuración, como AudioStreamPlayer.playing o GPUParticles3D.emitting.
PropertyHint PROPERTY_HINT_GROUP_ENABLE = 42
Sugiere que una propiedad booleana habilitará la función asociada con el grupo en el que aparece. La propiedad se mostrará como una casilla de verificación en el encabezado del grupo. Solo funciona dentro de un grupo o subgrupo.
Por defecto, la desactivación de la propiedad oculta todas las propiedades del grupo. Utiliza la string de sugerencia opcional "checkbox_only" para desactivar este comportamiento.
PropertyHint PROPERTY_HINT_INPUT_NAME = 43
Sugiere que una propiedad String o StringName es el nombre de una acción de entrada. Esto permite la selección de cualquier nombre de acción del Mapa de entrada en la Configuración del Proyecto. La string de sugerencia puede contener dos opciones separadas por comas:
Si contiene
"show_builtin", las acciones de entrada incorporadas se incluyen en la selección.Si contiene
"loose_mode", el modo loose está habilitado. Esto permite insertar cualquier nombre de acción, incluso si no está presente en el mapa de entrada.
PropertyHint PROPERTY_HINT_FILE_PATH = 44
Similar a PROPERTY_HINT_FILE, pero la propiedad se almacena como una ruta raw, no como UID. Eso significa que la referencia se romperá si mueves el archivo. Considera usar PROPERTY_HINT_FILE cuando sea posible.
PropertyHint PROPERTY_HINT_MAX = 45
Representa el tamaño del enum PropertyHint.
flags PropertyUsageFlags: 🔗
PropertyUsageFlags PROPERTY_USAGE_NONE = 0
La propiedad no se almacena ni se muestra en el editor. Este es el comportamiento predeterminado para propiedades no exportadas.
PropertyUsageFlags PROPERTY_USAGE_STORAGE = 2
La propiedad se serializa y se guarda en el archivo de la escena (por defecto para propiedades exportadas).
PropertyUsageFlags PROPERTY_USAGE_EDITOR = 4
La propiedad se muestra en el EditorInspector (por defecto para propiedades exportadas).
PropertyUsageFlags PROPERTY_USAGE_INTERNAL = 8
La propiedad se excluye de la referencia de la clase.
PropertyUsageFlags PROPERTY_USAGE_CHECKABLE = 16
La propiedad se puede comprobar en el EditorInspector.
PropertyUsageFlags PROPERTY_USAGE_CHECKED = 32
La propiedad se comprueba en el EditorInspector.
PropertyUsageFlags PROPERTY_USAGE_GROUP = 64
Se utiliza para agrupar propiedades en el editor. Véase EditorInspector.
PropertyUsageFlags PROPERTY_USAGE_CATEGORY = 128
Se usa para categorizar las propiedades juntas en el editor.
PropertyUsageFlags PROPERTY_USAGE_SUBGROUP = 256
Se utiliza para agrupar propiedades en el editor en un subgrupo (bajo un grupo). Véase EditorInspector.
PropertyUsageFlags PROPERTY_USAGE_CLASS_IS_BITFIELD = 512
La propiedad es un campo de bits, es decir, contiene múltiples banderas representadas como bits.
PropertyUsageFlags PROPERTY_USAGE_NO_INSTANCE_STATE = 1024
La propiedad no guarda su estado en PackedScene.
PropertyUsageFlags PROPERTY_USAGE_RESTART_IF_CHANGED = 2048
Al editar la propiedad, el usuario debe reiniciar el editor para que el cambio tenga efecto.
PropertyUsageFlags PROPERTY_USAGE_SCRIPT_VARIABLE = 4096
La propiedad es una variable de script. PROPERTY_USAGE_SCRIPT_VARIABLE se puede utilizar para distinguir entre las variables de script exportadas y las variables incorporadas (que no tienen este flag de uso). Por defecto, PROPERTY_USAGE_SCRIPT_VARIABLE no se aplica a las variables que se crean al sobrescribir Object._get_property_list() en un script.
PropertyUsageFlags PROPERTY_USAGE_STORE_IF_NULL = 8192
El valor de la propiedad de tipo Object se almacenará incluso si su valor es null.
PropertyUsageFlags PROPERTY_USAGE_UPDATE_ALL_IF_MODIFIED = 16384
Si esta propiedad se modifica, todos los campos del inspector se actualizarán.
PropertyUsageFlags PROPERTY_USAGE_SCRIPT_DEFAULT_VALUE = 32768
Obsoleto: This flag is not used by the engine.
PropertyUsageFlags PROPERTY_USAGE_CLASS_IS_ENUM = 65536
La propiedad es una variable de tipo enum, solo acepta constantes enteras nombradas de su enumeración asociada.
PropertyUsageFlags PROPERTY_USAGE_NIL_IS_VARIANT = 131072
Si la propiedad tiene nil como valor predeterminado, su tipo será Variant.
PropertyUsageFlags PROPERTY_USAGE_ARRAY = 262144
La propiedad es el recuento de elementos de un array de propiedades, es decir, una lista de grupos de propiedades relacionadas. Las propiedades definidas con este uso también necesitan un campo específico class_name en forma de label,prefix. El campo también puede incluir opciones adicionales separadas por comas:
page_size=N: Anula EditorSettings.interface/inspector/max_array_dictionary_items_per_page para este array.add_button_text=text: El texto que se muestra en el botón "Añadir elemento".static: Los elementos no se pueden reorganizar.const: No se pueden añadir nuevos elementos.numbered: Aparecerá un índice junto a cada elemento.unfoldable: El array no se puede plegar.swap_method=method_name: El método que se llamará cuando dos elementos cambien de lugar. El método debe tomar 2 parámetros int, que serán los índices de los elementos que se intercambian.
Ten en cuenta que para crear una matriz de propiedades completa se requiere código repetitivo que incluya Object._get_property_list().
PropertyUsageFlags PROPERTY_USAGE_ALWAYS_DUPLICATE = 524288
Al duplicar un recurso con Resource.duplicate(), y este flag está establecido en una propiedad de ese recurso, la propiedad siempre debe ser duplicada, independientemente del parámetro bool subresources.
PropertyUsageFlags PROPERTY_USAGE_NEVER_DUPLICATE = 1048576
Al duplicar un recurso con Resource.duplicate(), y este flag está establecido en una propiedad de ese recurso, la propiedad nunca debe ser duplicada, independientemente del parámetro bool subresources.
PropertyUsageFlags PROPERTY_USAGE_HIGH_END_GFX = 2097152
La propiedad solo se muestra en el editor si se admiten renderizadores modernos (se excluye el método de renderizado de compatibilidad).
PropertyUsageFlags PROPERTY_USAGE_NODE_PATH_FROM_SCENE_ROOT = 4194304
La propiedad NodePath siempre será relativa a la raíz de la escena. Principalmente útil para recursos locales.
PropertyUsageFlags PROPERTY_USAGE_RESOURCE_NOT_PERSISTENT = 8388608
Se usa cuando un recurso se crea dinámicamente, es decir, el getter siempre devuelve una instancia diferente. ResourceSaver necesita esta información para guardar correctamente dichos recursos.
PropertyUsageFlags PROPERTY_USAGE_KEYING_INCREMENTS = 16777216
Insertar un fotograma clave de animación de esta propiedad incrementará automáticamente el valor, permitiendo animar fácilmente múltiples valores consecutivos.
PropertyUsageFlags PROPERTY_USAGE_DEFERRED_SET_RESOURCE = 33554432
Obsoleto: This flag is not used by the engine.
PropertyUsageFlags PROPERTY_USAGE_EDITOR_INSTANTIATE_OBJECT = 67108864
Cuando esta propiedad es un Resource y el objeto base es un Node, se creará automáticamente una instancia del recurso cada vez que el nodo se cree en el editor.
PropertyUsageFlags PROPERTY_USAGE_EDITOR_BASIC_SETTING = 134217728
La propiedad se considera una configuración básica y aparecerá incluso cuando el modo avanzado esté desactivado. Se usa para configuraciones del proyecto.
PropertyUsageFlags PROPERTY_USAGE_READ_ONLY = 268435456
La propiedad es de solo lectura en el EditorInspector.
PropertyUsageFlags PROPERTY_USAGE_SECRET = 536870912
Una propiedad de preset de exportación con esta bandera contiene información confidencial y se almacena por separado del resto de la configuración del preset de exportación.
PropertyUsageFlags PROPERTY_USAGE_DEFAULT = 6
Uso por defecto (almacenamiento y editor).
PropertyUsageFlags PROPERTY_USAGE_NO_EDITOR = 2
Uso por defecto, pero sin mostrar la propiedad en el editor (almacenamiento).
flags MethodFlags: 🔗
MethodFlags METHOD_FLAG_NORMAL = 1
Bandera para un método normal.
MethodFlags METHOD_FLAG_EDITOR = 2
Bandera para un método editor.
MethodFlags METHOD_FLAG_CONST = 4
Bandera para un método constante.
MethodFlags METHOD_FLAG_VIRTUAL = 8
Bandera para un método virtual.
MethodFlags METHOD_FLAG_VARARG = 16
Indicador para un método con un número variable de argumentos.
MethodFlags METHOD_FLAG_STATIC = 32
Bandera para un método estático.
MethodFlags METHOD_FLAG_OBJECT_CORE = 64
Uso interno. Permite no volcar métodos virtuales centrales (como Object._notification()) en la API JSON.
MethodFlags METHOD_FLAG_VIRTUAL_REQUIRED = 128
Bandera para un método virtual que es requerido. En GDScript, este flag se establece para funciones abstractas.
MethodFlags METHOD_FLAGS_DEFAULT = 1
Banderas de método por defecto (normal).
enum Variant.Type: 🔗
Variant.Type TYPE_NIL = 0
La variable es null.
Variant.Type TYPE_BOOL = 1
La variable es de tipo bool.
Variant.Type TYPE_INT = 2
La variable es de tipo int.
Variant.Type TYPE_FLOAT = 3
La variable es de tipo float.
Variant.Type TYPE_STRING = 4
La variable es de tipo String.
Variant.Type TYPE_VECTOR2 = 5
La variable es de tipo Vector2.
Variant.Type TYPE_VECTOR2I = 6
La variable es de tipo Vector2i.
Variant.Type TYPE_RECT2 = 7
La variable es de tipo Rect2.
Variant.Type TYPE_RECT2I = 8
La variable es de tipo Rect2i.
Variant.Type TYPE_VECTOR3 = 9
La variable es de tipo Vector3.
Variant.Type TYPE_VECTOR3I = 10
La variable es de tipo Vector3i.
Variant.Type TYPE_TRANSFORM2D = 11
La variable es de tipo Transform2D.
Variant.Type TYPE_VECTOR4 = 12
La variable es de tipo Vector4.
Variant.Type TYPE_VECTOR4I = 13
La variable es de tipo Vector4i.
Variant.Type TYPE_PLANE = 14
La variable es de tipo Plane.
Variant.Type TYPE_QUATERNION = 15
La variable es de tipo Quaternion.
Variant.Type TYPE_AABB = 16
La variable es de tipo AABB.
Variant.Type TYPE_BASIS = 17
La variable es de tipo Basis.
Variant.Type TYPE_TRANSFORM3D = 18
La variable es de tipo Transform3D.
Variant.Type TYPE_PROJECTION = 19
La variable es de tipo Projection.
Variant.Type TYPE_COLOR = 20
La variable es de tipo Color.
Variant.Type TYPE_STRING_NAME = 21
La variable es de tipo StringName.
Variant.Type TYPE_NODE_PATH = 22
La variable es de tipo NodePath.
Variant.Type TYPE_RID = 23
La variable es de tipo RID.
Variant.Type TYPE_OBJECT = 24
La variable es de tipo Object.
Variant.Type TYPE_CALLABLE = 25
La variable es de tipo Callable.
Variant.Type TYPE_SIGNAL = 26
La variable es de tipo Signal.
Variant.Type TYPE_DICTIONARY = 27
La variable es de tipo Dictionary.
Variant.Type TYPE_ARRAY = 28
La variable es de tipo Array.
Variant.Type TYPE_PACKED_BYTE_ARRAY = 29
La variable es de tipo PackedByteArray.
Variant.Type TYPE_PACKED_INT32_ARRAY = 30
La variable es de tipo PackedInt32Array.
Variant.Type TYPE_PACKED_INT64_ARRAY = 31
La variable es de tipo PackedInt64Array.
Variant.Type TYPE_PACKED_FLOAT32_ARRAY = 32
La variable es de tipo PackedFloat32Array.
Variant.Type TYPE_PACKED_FLOAT64_ARRAY = 33
La variable es de tipo PackedFloat64Array.
Variant.Type TYPE_PACKED_STRING_ARRAY = 34
La variable es de tipo PackedStringArray.
Variant.Type TYPE_PACKED_VECTOR2_ARRAY = 35
La variable es de tipo PackedVector2Array.
Variant.Type TYPE_PACKED_VECTOR3_ARRAY = 36
La variable es de tipo PackedVector3Array.
Variant.Type TYPE_PACKED_COLOR_ARRAY = 37
La variable es de tipo PackedColorArray.
Variant.Type TYPE_PACKED_VECTOR4_ARRAY = 38
La variable es de tipo PackedVector2Array.
Variant.Type TYPE_MAX = 39
Representa el tamaño del enum Variant.Type.
enum Variant.Operator: 🔗
Variant.Operator OP_EQUAL = 0
Operador de igualdad (==).
Variant.Operator OP_NOT_EQUAL = 1
Operador desigualdad (!=).
Variant.Operator OP_LESS = 2
Operador menor que (<).
Variant.Operator OP_LESS_EQUAL = 3
Operador menor o igual que (<=).
Variant.Operator OP_GREATER = 4
Operador mayor que (>).
Variant.Operator OP_GREATER_EQUAL = 5
Operador igual o mayor que (>=).
Variant.Operator OP_ADD = 6
Operador suma (+).
Variant.Operator OP_SUBTRACT = 7
Operador resta (-).
Variant.Operator OP_MULTIPLY = 8
Operador multiplicación (*).
Variant.Operator OP_DIVIDE = 9
Operador división (/).
Variant.Operator OP_NEGATE = 10
Operador unario de negación (-.
Variant.Operator OP_POSITIVE = 11
Operador unario de suma (+).
Variant.Operator OP_MODULE = 12
Operador modulo/resto (%).
Variant.Operator OP_POWER = 13
Operador de exponenciación (**).
Variant.Operator OP_SHIFT_LEFT = 14
Operador de desplazamiento binario izquierdo (<<).
Variant.Operator OP_SHIFT_RIGHT = 15
Operador de desplazamiento binario derecho (>>).
Variant.Operator OP_BIT_AND = 16
Operador binario AND (&).
Variant.Operator OP_BIT_OR = 17
Operador binario OR (|).
Variant.Operator OP_BIT_XOR = 18
Operador binario XOR (^).
Variant.Operator OP_BIT_NEGATE = 19
Operador binario NOT (~).
Variant.Operator OP_AND = 20
Operador AND lógico (and o &&).
Variant.Operator OP_OR = 21
Operador OR lógico (or o ||).
Variant.Operator OP_XOR = 22
Operador XOR lógico ( no implementado en GDScript).
Variant.Operator OP_NOT = 23
Operador NOT lógico (NOT o !).
Variant.Operator OP_IN = 24
Operador lógico In (in).
Variant.Operator OP_MAX = 25
Representa el tamaño del enum Variant.Operator.
Descripciones de Propiedades
AudioServer AudioServer 🔗
El singleton AudioServer.
CameraServer CameraServer 🔗
El singleton CameraServer.
El singleton ClassDB.
DisplayServer DisplayServer 🔗
El singleton DisplayServer.
EditorInterface EditorInterface 🔗
El singleton EditorInterface.
Nota: Solo disponible en compilaciones del editor.
El singleton Engine.
EngineDebugger EngineDebugger 🔗
El singleton EngineDebugger.
GDExtensionManager GDExtensionManager 🔗
El singleton GDExtensionManager.
Geometry2D Geometry2D 🔗
El singleton Geometry2D.
Geometry3D Geometry3D 🔗
El singleton Geometry3D.
El singleton IP.
El singleton Input.
El singleton InputMap.
JavaClassWrapper JavaClassWrapper 🔗
El singleton JavaClassWrapper .
Nota: Solo implementado en Android.
JavaScriptBridge JavaScriptBridge 🔗
El singleton JavaScriptBridge.
Nota: Solo se implementa en la plataforma web.
El singleton Marshalls.
El singleton NativeMenu.
Nota: Solo implementado en macOS.
El singleton NavigationMeshGenerator.
El singleton NavigationServer2D.
The NavigationServer2DManager singleton.
El singleton NavigationServer3D.
The NavigationServer3DManager singleton.
El singleton OS.
Performance Performance 🔗
El singleton Performance.
PhysicsServer2D PhysicsServer2D 🔗
El singleton PhysicsServer2D.
PhysicsServer2DManager PhysicsServer2DManager 🔗
El singleton PhysicsServer2DManager.
PhysicsServer3D PhysicsServer3D 🔗
El singleton PhysicsServer3D.
PhysicsServer3DManager PhysicsServer3DManager 🔗
El singleton PhysicsServer3DManager.
ProjectSettings ProjectSettings 🔗
El singleton ProjectSettings.
RenderingServer RenderingServer 🔗
El singleton RenderingServer.
ResourceLoader ResourceLoader 🔗
El singleton ResourceLoader.
ResourceSaver ResourceSaver 🔗
El singleton ResourceSaver.
ResourceUID ResourceUID 🔗
El singleton ResourceUID.
TextServerManager TextServerManager 🔗
El singleton TextServerManager.
El singleton ThemeDB.
El singleton Time.
TranslationServer TranslationServer 🔗
El singleton TranslationServer.
WorkerThreadPool WorkerThreadPool 🔗
El singleton WorkerThreadPool.
El singleton XRServer.
Descripciones de Métodos
Devuelve el valor absoluto de un parámetro Variant x (es decir, un valor no negativo). Tipos admitidos: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.
var a = abs(-1)
# a es 1
var b = abs(-1.2)
# b es 1.2
var c = abs(Vector2(-3.5, -4))
# c es (3.5, 4)
var d = abs(Vector2i(-5, -6))
# d es (5, 6)
var e = abs(Vector3(-7, 8.5, -3.8))
# e es (7, 8.5, 3.8)
var f = abs(Vector3i(-7, -8, -9))
# f es (7, 8, 9)
Nota: Para mayor seguridad de tipos, utiliza absf(), absi(), Vector2.abs(), Vector2i.abs(), Vector3.abs(), Vector3i.abs(), Vector4.abs() o Vector4i.abs().
Devuelve el valor absoluto del parámetro float x (es decir, un valor positivo).
# a vale 1.2
var a = absf(-1.2)
Devuelve el valor absoluto del parámetro int x (es decir, un valor positivo).
# a vale 1
var a = absi(-1)
Devuelve el arco coseno de x en radianes. Se usa para obtener el ángulo del coseno de x. x debe estar entre -1.0 y 1.0 (inclusivo); en otro caso, acos() devolverá @GDScript.NAN.
# c es 0.523599 o 30 grados si se convierte con rad2deg(s)
c = acos(0.866025)
Devuelve el arco coseno hiperbólico (también llamado inverso) de x, devolviendo un valor en radianes. Se usa para obtener el ángulo a partir del coseno de un ángulo en el espacio hiperbólico si x es mayor o igual a 1. Para valores de x menores que 1, devolverá 0 para evitar que acosh() devuelva @GDScript.NAN.
var a = acosh(2) # Devuelve 1.31695789692482
cosh(a) # Devuelve 2
var b = acosh(-1) # Devuelve 0
float angle_difference(from: float, to: float) 🔗
Devuelve la diferencia entre dos ángulos (en radianes), en el rango [-PI, +PI]. Cuando from y to son opuestos, devuelve -PI si from es menor que to, o PI en caso contrario.
Devuelve el arcoseno de x en radianes. Úsalo para obtener el ángulo del seno de x. x será ajustado entre -1.0 y 1.0 (inclusivo), con el fin de prevenir que asin() devuelva @GDScript.NAN.
# s es 0.523599 o 30 grados si se convierte con rad_to_deg(s)
var s = asin(0.5)
Devuelve el arco hiperbólico (también llamado seno inverso) de x, devolviendo un valor en radianes. Úsalo para obtener el ángulo a partir del seno de un ángulo en el espacio hiperbólico.
var a = asinh(0.9) # Devuelve 0.8088669356527824
sinh(a) # Devuelve 0.9
Devuelve el arco tangente de x en radianes. Úsalo para obtener el ángulo a partir de la tangente de un ángulo en trigonometría.
El método no puede saber en qué cuadrante se encuentra el ángulo. Véase atan2() si tienes tanto y como x
var a = atan(0.5) # a is 0.463648
Si x está entre lo valores -PI / 2 y PI / 2 (inclusivo), atan(tan(x)) es igual a x.
float atan2(y: float, x: float) 🔗
Devuelve la arcotangente de y/x en radianes. Úsalo para obtener el ángulo de la tangente y/x. Para obtener el valor, el método tiene en cuenta el signo de ambos argumentos para determinar el cuadrante.
Nota importante: La coordenada Y es la primera, por convención.
a = atan2(0, -1) # a es 3.141593
Devuelve la tangente del arco hiperbólico (también llamado inverso) de x, devolviendo un valor en radianes. Úsalo para obtener el ángulo desde la tangente en un ángulo en espacio hiperbólico si x está entre -1 y 1 (no inclusivo).
En matemáticas, la inversa de la tangente hiperbólica es solo definida por -1 < x <1 en el conjunto real, por lo que valores iguales o menores a -1 para x develven @GDScript.INF negativos y valores iguales o mayores a 1 devuelven @GDScript.INF positivo para prevenir que atanh() devuelva @GDScript.NAN.
var a = atanh(0.9) # Devuelve 1.47221948958322
tanh(a) # Devuelve 0.9
var b = atanh(-2) # Devuelve -inf
tanh(b) # Devuelve -1
float bezier_derivative(start: float, control_1: float, control_2: float, end: float, t: float) 🔗
Devuelve el derivado que se le dio a t en un unidimensional curva de Bézier definida dados los puntos control_1, control_2, y end.
float bezier_interpolate(start: float, control_1: float, control_2: float, end: float, t: float) 🔗
Devuelve el punto en el t dado en una curva de Bézier unidimensional definida por los puntos control_1, control_2 y end dados.
Variant bytes_to_var(bytes: PackedByteArray) 🔗
Decodifica un array de bytes devolviendo el valor Variant,sin decodificar objetos.
Nota: Si necesitas deserialización de objetos, Véase bytes_to_var_with_objects().
Variant bytes_to_var_with_objects(bytes: PackedByteArray) 🔗
Decodifica un array de bytes a un valor Variant. Se permite la decodificación de objetos.
Advertencia: El objeto deserializado puede contener código que se ejecuta. No utilices esta opción si el objeto serializado proviene de fuentes no confiables para evitar posibles amenazas de seguridad (ejecución remota de código).
Redondea x hacia arriba (hacia infinito positivo), devolviendo el valor entero más pequeño que no es menor que x. Tipos soportados: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.
var i = ceil(1.45) # i es 2.0
i = ceil(1.001) # i es 2.0
Véase también floor(), round(), y snapped().
Nota: Para una mejor seguridad de tipos, usa ceilf(), ceili(), Vector2.ceil(), Vector3.ceil() o Vector4.ceil().
Redondea x hacia arriba (hacia el infinito positivo) y devuelve el número entero más pequeño que no sea menor que x.
Una versión de ceil() con seguridad de tipos, que devuelve un float.
Redondea x hacia arriba (hacia el infinito positivo) y devuelve el número entero más pequeño que no sea menor que x.
Una versión de tipo seguro de ceil(), que devuelve un int.
Variant clamp(value: Variant, min: Variant, max: Variant) 🔗
Restringe el value, devolviendo una Variant no menor que min y no mayor que max. Cualquier valor que pueda ser comparado con los operadores "menor que" y "mayor que" funcionará.
var a = clamp(-10, -1, 5)
# a is -1
var b = clamp(8.1, 0.9, 5.5)
# b is 5.5
Nota: Para mejor seguridad de tipo, utiliza clampf(), clampi(), Vector2.clamp(), Vector3.clamp(), Vector3i.clamp(), Vector4.clamp(), Vector4i.clamp(), o Color.clamp() (Actualmente no compatible con este método).
Nota: Cuando utilices esto en vectores no realizará restricción de componentes, y elegirá min si value < min or max si value > max. Para realizar restrición de componentes utiliza los metodos listados arriba.
float clampf(value: float, min: float, max: float) 🔗
Fija el value, devolviendo un float no menor que min y no mayor que max.
var speed = 42.1
var a = clampf(speed, 1.0, 20.5) # a es 20.5
speed = -10.0
var b = clampf(speed, -1.0, 1.0) # b es -1.0
int clampi(value: int, min: int, max: int) 🔗
Acota el value y devuelve un int no menor que min ni mayor que max.
var speed = 42
var a = clampi(speed, 1, 20) # a es 20
speed = -10
var b = clampi(speed, -1, 1) # b es -1
Devuelve el coseno del ángulo angle_rad en radianes.
cos(PI * 2) # Devuelve 1.0
cos(PI) # Devuelve -1.0
cos(grados_a_rad(90)) # Devuelve 0.0
Devuelve el coseno hiperbólico de x en radianes.
print(cosh(1)) # Imprime 1.543081
float cubic_interpolate(from: float, to: float, pre: float, post: float, weight: float) 🔗
Realiza una interpolación cúbica entre dos valores en base al factor definido en weight con los valores de pre y post.
float cubic_interpolate_angle(from: float, to: float, pre: float, post: float, weight: float) 🔗
Realiza una interpolación cúbica entre dos valores de rotación con la ruta más corta por el factor definido en weight con los valores de pre y post. Véase también 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) 🔗
Realiza una interpolación cúbica entre dos valores rotacionales por el camino más corto definido por el factor definido en los valores weight con pre y post. Véase también lerp_angle().
Puede realizar una interpolación mas suave usando valores del tiempo en comparación con cubic_interpolate().
float cubic_interpolate_in_time(from: float, to: float, pre: float, post: float, weight: float, to_t: float, pre_t: float, post_t: float) 🔗
Realiza una interpolación cúbica entre dos valores según el factor definido en weight con los valores de pre y post.
Puede realizar una interpolación más suave que cubic_interpolate() por valores de tiempo.
float db_to_linear(db: float) 🔗
Convierte de decibelios a energía lineal (audio).
float deg_to_rad(deg: float) 🔗
Convierte un ángulo expresado en grados a radianes.
var r = deg_to_rad(180) # r is 3.141593
float ease(x: float, curve: float) 🔗
Devuelve un valor "atenuado" de x basado en una función de atenuación definida con curve. Esta función de atenuación se basa en un exponente. curve puede ser cualquier número de punto flotante, con valores específicos que conducen a los siguientes comportamientos:
- Menor que -1.0 (exclusivo): Atenuación de entrada y salida
- -1.0: Lineal
- Entre -1.0 y 0.0 (exclusivo): Atenuación de salida y entrada
- 0.0: Constante
- Entre 0.0 y 1.0 (exclusivo): Atenuación de salida
- 1.0: Lineal
- Mayor que 1.0 (exclusivo): Atenuación de entrada
Hoja de referencia de valores de curva ease()
Véase también smoothstep(). Si necesitas realizar transiciones más avanzadas, utiliza Tween.interpolate_value().
String error_string(error: int) 🔗
Devuelve un nombre entendible para los humanos para el siguiente código Error.
print(OK) # Imprime 0
print(error_string(OK)) # Imprime "OK"
print(error_string(ERR_BUSY)) # Imprime "Busy"
print(error_string(ERR_OUT_OF_MEMORY)) # Imprime "Out of memory"
La función exponencial natural. Eleva la constante matemática e a la potencia de x y la devuelve.
e tiene un valor aproximado de 2,71828, y puede obtenerse con exp(1).
Para potencias con otras bases, utiliza el método pow().
var a = exp(2) # Aproximadamente 7.39
Redondea x por debajo (hacia el infinito negativo), devolviendo el número entero más grande que no es mayor que x. Tipos soportados: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.
var a = floor(2.99) # a es 2.0
a = floor(-2.99) # a es -3.0
Véase también: ceil(), round(), snapped().
Nota: Para una mayor seguridad con tipos, utiliza floorf(), floori(), Vector2.floor(), Vector3.floor(), o Vector4.floor().
Redondea a x hacia abajo (hacia el negativo infinito), devolviendo el numero entero de mayor tamaño que no sea superior a x.
Una version con tipado seguro de floor(), que devuelve un float.
Redondea a x hacia abajo (hacia el negativo infinito), devolviendo el numero entero de mayor tamaño que no sea superior a x.
Una version con tipado seguro de floor(), que devuelve un int.
Nota: Esta función no es la misma que int(x), la cual redondea hacia 0.
float fmod(x: float, y: float) 🔗
Devuelve el residuo punto flotante de x dividido por y, manteniendo el signo de x.
var residuo = fmod(7, 5.5) # residuo es 1.5
Para la operación de residuo de números de tipo integer, utiliza el operador %.
float fposmod(x: float, y: float) 🔗
Devuelve el módulo de punto flotante de x dividido por y, que envuelve por igual en positivo y en negativo.
print(" (x) (fmod(x, 1.5)) (fposmod(x, 1.5))")
for i in 7:
var x = 0.5 * i - 1.5
print("%4.1f %4.1f %4.1f" % [x, fmod(x, 1.5), fposmod(x, 1.5)])
Imprime:
(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
Devuelve el hash de tipo integer de la variable variable pasada.
print(hash("a")) # Imprime 177670
GD.Print(GD.Hash("a")); // Imprime 177670
Object instance_from_id(instance_id: int) 🔗
Returns the Object that corresponds to instance_id. All Objects have a unique instance ID. See also Object.get_instance_id().
var drink = "water"
func _ready():
var id = get_instance_id()
var instance = instance_from_id(id)
print(instance.drink) # Prints "water"
public partial class MyNode : Node
{
public string Drink { get; set; } = "water";
public override void _Ready()
{
ulong id = GetInstanceId();
var instance = (MyNode)InstanceFromId(Id);
GD.Print(instance.Drink); // Prints "water"
}
}
float inverse_lerp(from: float, to: float, weight: float) 🔗
Devuelve un factor de interpolación o extrapolación, considerando el rango especificado en from y to, y el valor interpolado especificado en weight. El valor devuelto estará entre 0.0 y 1.0 si weight está entre from y to (inclusivo). Si weight está ubicado fuera de este rango, se devolverá un factor de extrapolación (valor de retorno menor que 0.0 o mayor que 1.0). Utiliza clamp() sobre el resultado de inverse_lerp() si este no es el comportamiento deseado.
# La razón de interpolación en la llamada a "lerp()" de más abajo es 0.75.
var middle = lerp(20, 30, 0.75)
# "middle" ahora es 27.5.
# Ahora, suponemos haber olvidado la razón original y queremos obtenerla de vuelta.
var ratio = inverse_lerp(20, 30, 27.5)
# "ratio" ahora es 0.75.
Véase también lerp(), el cual ejecuta la operación inversa a esta, y remap() para mapear una series continua de valores a otros.
bool is_equal_approx(a: float, b: float) 🔗
Devuelve true si a y b son aproximadamente iguales entre sí.
Aquí, "aproximadamente iguales" significa que a y b están dentro de una pequeña épsilon interna de cada uno, que se escala con la magnitud de los números.
Los valores infinitos del mismo signo se consideran iguales.
Devuelve si x es un valor finito, p. ej., si no es @GDScript.NAN, infinito positivo o infinito negativo. Véase también is_inf() y is_nan().
Devuelve true si x es un valor de infinito (positivo o negativo). Véase también is_finite() y is_nan().
bool is_instance_id_valid(id: int) 🔗
Devuelve true si el Objeto que corresponde a id es valido (p.ej. si no se ha borrado de la memoria). Todos los Objetos tiene un ID de instancia único.
bool is_instance_valid(instance: Variant) 🔗
Devuelve true si instance es un Objeto válido (p. ej. si no ha sido borrado de la memoria).
Devuelve true si x es un valor NaN ("Not a Number" o inválido). Este método es necesario porque @GDScript.NAN no se considera equivalente a sí mismo, por lo que x == NAN no sirve para comprobar si un valor es NaN.
bool is_same(a: Variant, b: Variant) 🔗
Devuelve true, para los tipos de valor, si a y b comparten el mismo valor. Devuelve true, para los tipos de referencia, si las referencias de a y b son iguales.
# Vector2 es un tipo de valor
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 es un tipo de referencia
var arr_a = []
var arr_b = []
is_same(arr_a, arr_a) # true
is_same(arr_a, arr_b) # false
Estos son tipos de valores 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 and Signal.
Estas son Variant de tipo de referencia: Object, Dictionary, Array, PackedByteArray, PackedInt32Array, PackedInt64Array, PackedFloat32Array, PackedFloat64Array, PackedStringArray, PackedVector2Array, PackedVector3Array,PackedVector4Array y PackedColorArray.
bool is_zero_approx(x: float) 🔗
Devuelve true si x es cero o casi cero. La comparación se hace usando un calculo de tolerancia con un épsilon pequeño interno.
Este método es más rápido que usar is_equal_approx() con un valor como cero.
Variant lerp(from: Variant, to: Variant, weight: Variant) 🔗
Interpola linealmente entre dos valores por un valor definido por weight. Para hacer la interpolación weight debe estar en el rango de los valores 0.0 y 1.0 (inclusivo). No obstante, valores fuera de este rango también están permitidos y pueden usarse para hacer una extrapolación. Si este no es el comportamiento deseado, usa clampf() para limitar a weight.
Tanto from como to deben de ser del mismo tipo. Tipos soportados: int, float, Vector2, Vector3, Vector4, Color, Quaternion, Basis, Transform2D, Transform3D.
lerp(0, 4, 0.75) # Devuelve 3.0
Véase también: inverse_lerp(), que realiza la operación inversa. Para hacer una interpolación de tipo eased con lerp(), combínalo con ease() o smoothstep(). Véase también: remap() para mapear un serie continua de valores a otra.
Nota: Para mejor seguridad con tipos usa lerpf(), Vector2.lerp(), Vector3.lerp(), Vector4.lerp(), Color.lerp(), Quaternion.slerp(), Basis.slerp(), Transform2D.interpolate_with(), o Transform3D.interpolate_with().
float lerp_angle(from: float, to: float, weight: float) 🔗
Interpola linealmente entre dos ángulos (en radianes) por un valor weight entre 0.0 y 1.0.
Similar a lerp(), pero interpola correctamente cuando los ángulos se envuelven alrededor de @GDScript.TAU. Para realizar una interpolación suavizada con lerp_angle(), combínala con ease() o smoothstep().
extends Sprite
var elapsed = 0.0
func _process(delta):
var min_angle = deg_to_rad(0.0)
var max_angle = deg_to_rad(90.0)
rotation = lerp_angle(min_angle, max_angle, elapsed)
elapsed += delta
Nota: Esta función interpola a través de la ruta más corta entre from y to. Sin embargo, cuando estos dos ángulos están aproximadamente a PI + k * TAU de distancia para cualquier k entero, no es obvio de qué manera se interpolan debido a errores de precisión de punto flotante. Por ejemplo, lerp_angle(0, PI, weight) interpola en sentido antihorario, mientras que lerp_angle(0, PI + 5 * TAU, weight) interpola en el sentido de las agujas del reloj.
float lerpf(from: float, to: float, weight: float) 🔗
Interpola linealmente entre dos valores por el factor definido en weight. Para realizar la interpolación, weight debe estar entre 0.0 y 1.0 (inclusive). Sin embargo, se permiten valores fuera de este rango y se pueden usar para realizar extrapolación. Si esto no es deseado, usa clampf() en el resultado de esta función.
lerpf(0, 4, 0.75) # Devuelve 3.0
Véase también inverse_lerp() que realiza la operación inversa. Para realizar una interpolación suavizada con lerp(), combínala con ease() o smoothstep().
float linear_to_db(lin: float) 🔗
Convierte energía lineal a decibelios (audio). Dado que el volumen no es normalmente lineal, esto se puede usar para implementar controles deslizantes de volumen que se comporten como se espera.
Ejemplo: Cambia el volumen del bus maestro a través de un nodo Slider, que varía de 0.0 a 1.0:
AudioServer.set_bus_volume_db(AudioServer.get_bus_index("Master"), linear_to_db($Slider.value))
Devuelve el logaritmo natural de x natural logarithm (base [i]e[/i], con e siendo aproximadamente 2.71828). Esta es la cantidad de tiempo necesaria para alcanzar un cierto nivel de crecimiento continuo.
Nota: Esto no es lo mismo que la función "log" de la mayoría de las calculadoras, que utiliza un logaritmo de base 10. Para usar el logaritmo de base 10, usa log(x) / log(10).
log(10) # Devuelve 2.302585
Nota: El logaritmo de 0 devuelve -inf, mientras que los valores negativos devuelven -nan.
Devuelve el máximo de los valores numéricos dados. Esta función puede tomar cualquier número de argumentos.
max(1, 7, 3, -6, 5) # Devuelve 7
Nota: Al usarse en vectores, no calculará el máximo por componente y elegirá el valor más grande cuando se compare utilizando x < y. Para realizar el máximo por componente, use Vector2.max(), Vector2i.max(), Vector3.max(), Vector3i.max(), Vector4.max() y Vector4i.max().
float maxf(a: float, b: float) 🔗
Devuelve el máximo de dos valores float.
maxf(3.6, 24) # Devuelve 24.0
maxf(-3.99, -4) # Devuelve -3.99
Devuelve el máximo de dos valores int.
maxi(1, 2) # Devuelve 2
maxi(-3, -4) # Devuelve -3
Devuelve el mínimo de los valores numéricos dados. Esta función puede recibir cualquier número de argumentos.
min(1, 7, 3, -6, 5) # Devuelve -6
Nota: Al usarlo en vectores, no calculará el mínimo de cada componente y elegirá el valor más pequeño cuando se compare utilizando x < y. Para realizar el mínimo de cada componente, use Vector2.min(), Vector2i.min(), Vector3.min(), Vector3i.min(), Vector4.min() y Vector4i.min().
float minf(a: float, b: float) 🔗
Devuelve el mínimo de dos valores float.
minf(3.6, 24) # Devuelve 3.6
min(-3.99, -4) # Devuelve -4
Devuelve el mínimo de dos valores int.
mini(1, 2) # Devuelve 1
mini(-3, -4) # Devuelve -4
float move_toward(from: float, to: float, delta: float) 🔗
Mueve from hacia to por el valor delta. No se pasara del valor to
Usa un valor negativo de delta para mover el valor en sentido opuesto.
move_toward(5, 10, 4) # Devuelve 9
move_toward(10, 5, 4) # Devuelve 6
move_toward(5, 10, 9) # Devuelve 10
move_toward(10, 5, -1.5) # Devuelve 11.5
Devuelve la potencia entera más pequeña de 2 que es mayor o igual que value.
nearest_po2(3) # Devuelve 4
nearest_po2(4) # Devuelve 4
nearest_po2(5) # Devuelve 8
nearest_po2(0) # Devuelve 0 (esto puede no ser lo esperado)
nearest_po2(-1) # Devuelve 0 (esto puede no ser lo esperado)
Advertencia: Debido a su implementación, este método devuelve 0 en lugar de 1 para valores menores o iguales a 0, con una excepción para value siendo el entero negativo de 64 bits más pequeño (-9223372036854775808) en cuyo caso el value se devuelve sin cambios.
float pingpong(value: float, length: float) 🔗
Envuelve a value entre 0 y length. Si el límite es alcanzado, el siguiente valor que la función devuelva es reducido hacia 0 o incrementado hacia length (como una ola triangular). Si length es menor que cero, se convierte en positivo.
pingpong(-3.0, 3.0) # Devuelve 3.0
pingpong(-2.0, 3.0) # Devuelve 2.0
pingpong(-1.0, 3.0) # Devuelve 1.0
pingpong(0.0, 3.0) # Devuelve 0.0
pingpong(1.0, 3.0) # Devuelve 1.0
pingpong(2.0, 3.0) # Devuelve 2.0
pingpong(3.0, 3.0) # Devuelve 3.0
pingpong(4.0, 3.0) # Devuelve 2.0
pingpong(5.0, 3.0) # Devuelve 1.0
pingpong(6.0, 3.0) # Devuelve 0.0
Devuelve el módulo entero de x dividido por y que se ajusta igualmente en positivo y negativo.
print("#(i) (i % 3) (posmod(i, 3))")
for i in range(-3, 4):
print("%2d %2d | %2d" % [i, i % 3, posmod(i, 3)])
Imprime:
(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) 🔗
Devuelve el resultado de base elevado a la potencia de exp.
En GDScript, esto es el equivalente al operador **.
pow(2, 5) # Devuelve 32.0
pow(4, 1.5) # Devuelve 8.0
void print(...) vararg 🔗
Convierte uno o más argumentos de cualquier tipo a string de la mejor manera posible y los imprime en la consola.
var a = [1, 2, 3]
print("a", "b", a) # Prints "ab[1, 2, 3]"
Godot.Collections.Array a = [1, 2, 3];
GD.Print("a", "b", a); // Prints "ab[1, 2, 3]"
Note: Considera usar push_error() y push_warning() para imprimir mensajes de error y advertencia en lugar de print() o print_rich(). Esto los distingue de los mensajes de impresión utilizados para fines de depuración, mientras que también muestra un seguimiento de la pila cuando se imprime un error o una advertencia. Véase también Engine.print_to_stdout y ProjectSettings.application/run/disable_stdout.
void print_rich(...) vararg 🔗
Convierte uno o más argumentos de cualquier tipo en una string de la mejor manera posible y los imprime en la consola.
Se admiten las siguientes etiquetas BBCode: b, i, u, s, indent, code, url, center, right, color, bgcolor, fgcolor.
Las etiquetas URL solo admiten URL envueltas por una etiqueta URL, no así URL con un título diferente.
Al imprimir en la salida estándar, el subconjunto compatible de BBCode se convierte en códigos de escape ANSI para que el emulador de terminal los muestre. La compatibilidad con los códigos de escape ANSI varía entre los emuladores de terminal, especialmente para cursiva y tachado. En la salida estándar, code se representa con texto tenue pero sin ningún cambio de fuente. Las etiquetas no compatibles se dejan tal como están en la salida estándar.
print_rich("[color=green][b]¡Hola mundo![/b][/color]") # Imprime "¡Hola mundo!" en verde con una fuente en negrita
GD.PrintRich("[color=green][b]¡Hola mundo![/b][/color]"); // Imprime "¡Hola mundo!" en verde con una fuente en negrita
Nota: Considera usar push_error() y push_warning() para imprimir mensajes de error y advertencia en lugar de print() o print_rich(). Esto los distingue de los mensajes de impresión utilizados para fines de depuración, mientras que también muestra un seguimiento de la pila cuando se imprime un error o una advertencia.
Nota: La salida que se muestra en el editor admite etiquetas [url=address]texto[/url] en las que se puede hacer clic. El valor address de la etiqueta [url] es manejado por OS.shell_open() cuando se hace clic en ella.
void print_verbose(...) vararg 🔗
Si el modo detallado (verbose mode) está habilitado (OS.is_stdout_verbose() devolverá true), convierte uno o más argumentos de cualquier tipo en una string de la mejor manera posible y los imprime en la consola.
void printerr(...) vararg 🔗
Imprime uno o más argumentos como strings de la mejor manera posible a la línea de error estándar.
printerr("Imprime a stderr")
GD.PrintErr("Imprime a stderr");
void printraw(...) vararg 🔗
Imprime uno o más argumentos como strings de la mejor manera posible en la terminal del SO. A diferencia de print(), no se añade automáticamente una nueva línea al final.
Nota: El terminal del SO no es el mismo que el dock de salida del editor. La salida enviada al terminal del SO se puede ver al ejecutar Godot desde un terminal. En Windows, esto requiere el uso del ejecutable console.exe.
# Imprime "ABC" en la terminal.
printraw("A")
printraw("B")
printraw("C")
// Imprime "ABC" en la terminal.
GD.PrintRaw("A");
GD.PrintRaw("B");
GD.PrintRaw("C");
void prints(...) vararg 🔗
Imprime uno o más argumentos en la consola con un espacio entre cada argumento.
prints("A", "B", "C") # Imprime "A B C"
GD.PrintS("A","B","C"); // Imprime "A B C"
void printt(...) vararg 🔗
Imprime uno o más argumentos en la consola con una tabulación entre cada argumento.
printt("A", "B", "C") # Imprime "A B C"
GD.PrintT("A", "B", "C"); // Imprime "A B C"
void push_error(...) vararg 🔗
Envía un mensaje de error al depurador incorporado de Godot y a la terminal del sistema operativo.
push_error("error de prueba") # Imprime "error de prueba" en el depurador y la terminal como un error.
GD.PushError("error de prueba"); // Imprime "error de prueba" en el depurador y la terminal como un error.
Nota: Esta función no pausa la ejecución del proyecto. Para imprimir un mensaje de error y pausar la ejecución del proyecto en compilaciones de depuración, usa assert(false, "test error") en su lugar.
void push_warning(...) vararg 🔗
Envía un mensaje de advertencia al depurador incorporado de Godot y a la terminal del sistema operativo.
push_warning("test warning") # Imprime "test warning" en depurador y la terminal como una advertencia.
GD.PushWarning("test warning"); // Imprime "test warning" en depurador y la terminal como una advertencia.
float rad_to_deg(rad: float) 🔗
Convierte un ángulo expresado en radianes a grados.
rad_to_deg(0.523599) # Devuelve 30.0
rad_to_deg(PI) # Devuelve 180
rad_to_deg(PI * 2) # Devuelve 360
PackedInt64Array rand_from_seed(seed: int) 🔗
Dado un seed, devuelve un PackedInt64Array de tamaño 2, donde su primer elemento es el valor aleatorio int, y el segundo elemento es el mismo que seed. Pasar el mismo seed devuelve consistentemente el mismo array.
Nota: "Seed" aquí se refiere al estado interno del generador de números pseudoaleatorios, actualmente implementado como un entero de 64 bits.
var a = rand_from_seed(4)
print(a[0]) # Imprime 2879024997
print(a[1]) # Imprime 4
Devuelve un valor de punto flotante aleatorio entre 0.0 y 1.0 (inclusive).
randf() # Devuelve p. ej. 0.375671
GD.Randf(); // Devuelve p. ej. 0.375671
float randf_range(from: float, to: float) 🔗
Devuelve un valor de punto flotante aleatorio entre from y to (inclusive).
randf_range(0, 20.5) # Devuelve p. ej. 7.45315
randf_range(-10, 10) # Devuelve p.ej. -3.844535
GD.RandRange(0.0, 20.5); // Devuelve p. ej. 7.45315
GD.RandRange(-10.0, 10.0); // Devuelve p. ej. -3.844535
float randfn(mean: float, deviation: float) 🔗
Genera un número pseudoaleatorio distribuido normalmente, utilizando la transformación Box-Muller con el mean especificado y una deviation estándar. Esto también se denomina como distribución gaussiana.
Nota: Este método usa el algoritmo Box-Muller.
Devuelve un entero aleatorio sin signo de 32 bits. Utiliza el residuo para obtener un valor aleatorio en el intervalo [0, N - 1] (donde N es menor que 2^32).
randi() # Devuelve un entero aleatorio entre 0 y 2^32 - 1.
randi() % 20 # Devuelve un entero aleatorio entre 0 y 19.
randi() % 100 # Devuelve un entero aleatorio entre 0 y 99.
randi() % 100 + 1 # Devuelve un entero aleatoria entre 1 y 100
GD.Randi(); // Devuelve un entero aleatorio entre 0 y 2^32 - 1.
GD.Randi() % 20; // Devuelve un entero aleatorio entre 0 y 19.
GD.Randi() % 100; // Devuelve un entero aleatorio entre 0 y 99.
GD.Randi() % 100 + 1; // Devuelve un entero aleatoria entre 1 y 100
int randi_range(from: int, to: int) 🔗
Devuelve un entero aleatorio con signo de 32 bits en el rango de from hasta to (inclusivo). Si to es menor que from, se intercambian.
randi_range(0, 1) # Devuelve el valor 0 o 1
randi_range(-10, 1000) # Devuelve un entero aleatorio entre -10 y 1000
GD.RandRange(0, 1); // Devuelve el valor 0 o 1
GD.RandRange(-10, 1000); // Devuelve un entero aleatorio entre -10 y 1000
void randomize() 🔗
Aleatorizar la semilla (o el estado interno) del generador de números aleatorios. Es una implementación actual que utiliza un numero basado en el tiempo del dispositivo.
Nota: Esta función es llamada automáticamente cuando se ejecuta el proyecto. Si se necesita arreglar la semilla para mas consistencia o reproducir resultados, usa seed() para inicializar el generador de números aleatorios.
float remap(value: float, istart: float, istop: float, ostart: float, ostop: float) 🔗
Mapea un value en un rango de [istart, istop] a [ostart, ostop]. Véase también lerp() y inverse_lerp(). Si value esta afuera [istart, istop], entonces el valor resultante también estara fuera [ostart, ostop]. Si esto no es lo deseado, use clamp() en el resultado de esta función.
remap(75, 0, 100, -1, 1) #Devuelve 0.5
Para casos mas complejos en donde se requieran multiples rangos, considera utilizar Curve o Gradient en su lugar.
Nota: Si istart == istop, el valor devuelto es indefinido (probablemente NaN, INF, o -INF).
Asigna un ID único que puede se usado por la implementación para la construcción de un RID. Esto se utiliza principalmente desde extensiones nativas para implementar en servidores.
RID rid_from_int64(base: int) 🔗
Crea un RID a partir de un base. Esto es usado principalmente por extensiones nativas para la constricción de servidores.
float rotate_toward(from: float, to: float, delta: float) 🔗
Gira from hacia to en la cantidad de delta. No pasará de to.
Similar a move_toward(), pero se interpola correctamente cuando los ángulos se ajustan a @GDScript.TAU.
Si delta es negativo, esta función se alejará de to, hacia el ángulo opuesto y no pasará del ángulo opuesto.
Redondea x al número entero más cercano, con los casos intermedios redondeados a partir de 0. Datos soportados: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.
round(2.4) # Devuelve 2
round(2.5) # Devuelve 3
round(2.6) # Devuelve 3
Véase también floor(), ceil(), y snapped().
Nota: Para un mejor tipado seguro, use roundf(), roundi(), Vector2.round(), Vector3.round(), o Vector4.round().
Redondea x al numero entero mas cercano, con los casos intermedios redondeados a partir de 0.
Es una version de tipado seguro del round() , retorna un float.
Redondea x al numero entero mas cercano, con los casos intermedios redondeados a partir de 0.
Es una version de tipado seguro del round() , retorna un int.
Establece la semilla para el generador de números aleatorios en base. Configurar la semilla manualmente puede garantizar resultados consistentes y repetibles para la mayoría de los casos aleatorios. functions.
var my_seed = "Godot Rocks".hash()
seed(my_seed)
var a = randf() + randi()
seed(my_seed)
var b = randf() + randi()
# a and b are now identical
ulong mySeed = (ulong)GD.Hash("Godot Rocks");
GD.Seed(mySeed);
var a = GD.Randf() + GD.Randi();
GD.Seed(mySeed);
var b = GD.Randf() + GD.Randi();
// a and b are now identical
Devuelve el mismo Variant como x, dando -1 para valores negativos, 1 para valores positivos y 0 para cero. Para los valores NaN (No es un Numero) devuelve cero.
Tipos soportados int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.
sign(-6.0) # Devuelve-1
sign(0.0) # Devuelve 0
sign(6.0) # Devuelve 1
sign(NAN) # Devuelve 0
sign(Vector3(-6.0, 0.0, 6.0)) # Devuelve (-1, 0, 1)
Nota Para mejor seguridad en los tipos, use signf(), signi(), Vector2.sign(), Vector2i.sign(), Vector3.sign(), Vector3i.sign(), Vector4.sign(), o Vector4i.sign().
Devuelve -1.0 si x es negativo, 1.0 si es x positivo y 0.0 si x es igual a cero. Para valores nan de x, devuelve 0.0.
sign(-6.5) # Devuelve -1.0
sign(0.0) # Devuelve 0.0
sign(6.5) # Devuelve 1.0
signf(NAN) # Devuelve 0.0
Devuelve -1 si x es un valor negativo, 1 si x es positivo y 0 cuando x es igual a cero.
sign(-6) # Devuelve -1
sign(0) # Devuelve 0
sign(6) # Devuelve 1
Devuelve el seno de un angulo angle_rad en radianes.
sin(0.523599) # Devuelve 0.5
sin(deg_to_rad(90)) # Devuelve 1.0
Devuelve el seno hiperbolico de x.
var a = log(2.0) # Devuelve 0.693147
sinh(a) # Devuelve 0.75
float smoothstep(from: float, to: float, x: float) 🔗
Devuelve una interpolación cúbica de Hermite suave entre 0 y 1.
Para rangos positivos (cuando from <= to) el valor de retorno es 0 cuando x <= from, y 1 cuando x >= to. Si x se encuentra entre from y to, el valor devuelto sigue una curva en forma de S que realiza una transición suave de 0 a 1.
Para rangos negativos (cuando from > to) la función se refleja y devuelve 1 cuando x <= to y 0 cuando x >= from.
Esta curva en forma de S es el interpolador cúbico de Hermite, dado por f(y) = 3*y^2 - 2*y^3 donde y = (x-from) / (to-from).
smoothstep(0, 2, -5.0) # Devuelve 0.0
smoothstep(0, 2, 0.5) # Devuelve 0.15625
smoothstep(0, 2, 1.0) # Devuelve 0.5
smoothstep(0, 2, 2.0) # Devuelve 1.0
Comparado con ease() con un valor de curva de -1.6521, smoothstep() devuelve la curva más suave posible sin cambios repentinos en la derivada. Si necesitas realizar transiciones más avanzadas, usa Tween o AnimationPlayer.
Comparación entre los valores de retorno de smoothstep() y ease(x, -1.6521)
Valores de retorno de Smoothstep() con rangos positivos, cero y negativos
Variant snapped(x: Variant, step: Variant) 🔗
Devuelve el múltiplo de step que está más cerca de x. Esto también se puede usar para redondear un número de punto flotante a un número arbitrario de decimales.
El valor devuelto es del mismo tipo de Variant que step. Tipos compatibles: int, float, Vector2, Vector2i, Vector3, Vector3i, Vector4, Vector4i.
snapped(100, 32) # Devuelve 96
snapped(3.14159, 0.01) # Devuelve 3.14
snapped(Vector2(34, 70), Vector2(8, 8)) # Devuelve (32, 72)
Véase también ceil(), floor() y round().
Nota: Para una mejor seguridad de tipos, usa snappedf(), snappedi(), Vector2.snapped(), Vector2i.snapped(), Vector3.snapped(), Vector3i.snapped(), Vector4.snapped() o Vector4i.snapped().
float snappedf(x: float, step: float) 🔗
Devuelve el múltiplo de step que está más cerca de x. Esto también se puede usar para redondear un número de punto flotante a un número arbitrario de decimales.
Una versión con seguridad de tipos de snapped(), que devuelve un float.
snappedf(32.0, 2.5) # Devuelve 32.5
snappedf(3.14159, 0.01) # Devuelve 3.14
int snappedi(x: float, step: int) 🔗
Devuelve el múltiplo de step que está más cerca de x.
Una versión con seguridad de tipos de snapped(), que devuelve un int.
snappedi(53, 16) # Devuelve 48
snappedi(4096, 100) # Devuelve 4100
Devuelve la raíz cuadrada de x, donde x es un número no negativo.
sqrt(9) # Devuelve 3
sqrt(10.24) # Devuelve 3.2
sqrt(-1) # Devuelve NaN
Nota: Los valores negativos de x devuelven NaN ("Not a Number", No es un número). En C#, si necesitas entradas negativas, usa System.Numerics.Complex.
Devuelve la posición del primer dígito distinto de cero después de la coma decimal. Ten en cuenta que el valor de retorno máximo es 10, lo cual es una decisión de diseño en la implementación.
var n = step_decimals(5) # n es 0
n = step_decimals(1.0005) # n es 4
n = step_decimals(0.000000005) # n es 9
Convierte uno o más argumentos de cualquier tipo Variant a un String de la mejor manera posible.
var a = [10, 20, 30]
var b = str(a)
print(len(a)) # Imprime 3 (el número de elementos en el array).
print(len(b)) # Imprime 12 (la longitud de la string "[10, 20, 30]").
Variant str_to_var(string: String) 🔗
Convierte una string formateada que fue devuelta por var_to_str() al Variant original.
var data = '{ "a": 1, "b": 2 }' # data es un String
var dict = str_to_var(data) # dict es un Dictionary
print(dict["a"]) # Imprime 1
string data = "{ \"a\": 1, \"b\": 2 }"; // data es una string
var dict = GD.StrToVar(data).AsGodotDictionary(); // dict es un Dictionary
GD.Print(dict["a"]); // Imprime 1
Devuelve la tangente del ángulo angle_rad en radianes.
tan(deg2rad(45)) # Devuelve 1
Devuelve la tangente hiperbólica de x.
var a = log(2.0) # Devuelve 0.693147
tanh(a) # Devuelve 0.6
Variant type_convert(variant: Variant, type: int) 🔗
Convierte un variant dado a type, usando los valores de Variant.Type. Este método es amigable con como maneja los tipos, puede convertir automáticamente entre tipos de array, convertir Strings numéricos a int y convertir la gran mayoría de cosas a String.
Si no se puede pasar de un tipo a otro, este método devolverá el valor por defecto de ese tipo, por ejemplo, convertir un Rect2 a Vector2 siempre devolverá Vector2.ZERO. Este método no muestra mensajes de error siempre que type sea un tipo valido.
El valor devuelto es Variant, pero su tipo y datos serán iguales que el que se pidió.
type_convert("Hi!", TYPE_INT) # Devuelve 0
type_convert("123", TYPE_INT) # Devuelve 123
type_convert(123.4, TYPE_INT) # Devuelve 123
type_convert(5, TYPE_VECTOR2) # Devuelve (0, 0)
type_convert("Hi!", TYPE_NIL) # Devuelve null
String type_string(type: int) 🔗
Devuelve un nombre legible para el type dado, utilizando los valores de Variant.Type.
print(TYPE_INT) # Imprime 2
print(type_string(TYPE_INT)) # Imprime "int"
print(type_string(TYPE_STRING)) # Imprime "String"
Véase también typeof().
int typeof(variable: Variant) 🔗
Returns the internal type of the given variable, using the Variant.Type values.
var json = JSON.new()
json.parse('["a", "b", "c"]')
var result = json.get_data()
if typeof(result) == TYPE_ARRAY:
print(result[0]) # Prints "a"
else:
print("Unexpected result!")
See also type_string().
PackedByteArray var_to_bytes(variable: Variant) 🔗
Cifra el valor de Variant a un array de bytes (byte array) sin encodificar el objeto en si. La deserialización puede ser hecha con bytes_to_var().
Nota: Si necesitas serializar el objeto, véase var_to_bytes_with_objects().
Nota: La encodificación de Callable no esta soportada y siempre devolverá un valor vacío, sin importar los datos.
PackedByteArray var_to_bytes_with_objects(variable: Variant) 🔗
Codifica un valor Variant en un array de bytes. Se permite codificar objetos (y potencialmente puede incluir código ejecutable). La deserialización puede realizarse con bytes_to_var_with_objects().
Nota: La codificación de Callable no es compatible y dará como resultado un valor vacío, independientemente de los datos.
String var_to_str(variable: Variant) 🔗
Convierte una Variant variable en una String formateada que luego puede ser analizada utilizando str_to_var().
var a = { "a": 1, "b": 2 }
print(var_to_str(a))
var a = new Godot.Collections.Dictionary { ["a"] = 1, ["b"] = 2 };
GD.Print(GD.VarToStr(a));
Imprime:
{
"a": 1,
"b": 2
}
Nota: La conversión de Signal o Callable no es compatible y resultará en un valor vacío para estos tipos, independientemente de sus datos.
Variant weakref(obj: Variant) 🔗
Devuelve una instancia WeakRef que contiene una referencia débil a obj. Devuelve una instancia WeakRef vacía si obj es null. Imprime un error y devuelve null si obj no es derivado de Object ni null.
Una referencia débil a un objeto no es suficiente para mantenerlo activo: cuando las únicas referencias restantes a un referente son débiles, la recolección de elementos no utilizados puede destruir el referente y reutilizar su memoria para otra cosa. Sin embargo, hasta que el objeto se destruya, la referencia débil puede devolverlo incluso si no existen referencias fuertes a él.
Variant wrap(value: Variant, min: Variant, max: Variant) 🔗
Envuelve el Variant value entre min y max. min es inclusivo mientras que max es exclusivo. Esto puede utilizarse para crear comportamientos similares a bucles o superficies infinitas.
Los tipos de Variant compatibles son int y float. Si alguno de los argumentos es float, esta función devuelve un float, de lo contrario devuelve un int.
var a = wrap(4, 5, 10)
# a es 9 (int)
var a = wrap(7, 5, 10)
# a es 7 (int)
var a = wrap(10.5, 5, 10)
# a es 5.5 (float)
float wrapf(value: float, min: float, max: float) 🔗
Ajusta el valor flotante value entre min y max. min es inclusivo mientras que max es exclusivo. Esto puede ser usado para crear un comportamiento similar a un bucle o superficies infinitas.
# Bucle infinito entre 5.0 y 9.9
valor = wrapf(valor + 0.1, 5.0, 10.0)
# Rotación infinita (en radianes)
ángulo = wrapf(ángulo + 0.1, 0.0, TAU)
# Rotación infinita (en radianes)
ángulo = wrapf(ángulo + 0.1, -PI, PI)
Nota: Si min es 0, esto es equivalente a fposmod(), así que es preferible usar ese en su lugar. wrapf() es más flexible que usar fposmod(), ya que le da al usuario control sobre el valor mínimo.
int wrapi(value: int, min: int, max: int) 🔗
Ajusta el entero value entre min y max. min es inclusivo mientras que max es exclusivo. Esto puede usarse para crear un comportamiento similar a un bucle o superficies infinitas.
# Bucle infinito entre 5 y 9
fotograma = wrapi(fotograma + 1, 5, 10)
# El resultado es -2
var resultado = wrapi(-6, -5, -1)