Saltar al contenido principal

Globals and Constants

SCRIPTING_RUNTIME_REV

Representa el número de revisión actual del runtime de scripting.

Este valor se puede usar para:

  • Verificar compatibilidad con características específicas del runtime.
  • Aplicar lógica condicional para compatibilidad hacia atrás/adelante.
  • Proporcionar alternativas para entornos más antiguos.

Ejemplo:

    if (SCRIPTING_RUNTIME_REV < 5) {
console.warn("Esta función requiere la revisión 5 o posterior.");
} else {
enableAdvancedFeature();
}

M_PI

Constante que representa el valor matemático de π (3.14159...).

Ejemplo:

    const circumference = 2 * M_PI * radius;

MAX_INT

Constante que representa el valor máximo que un entero con signo de 32 bits puede almacenar (2,147,483,647).

Ejemplo:

    if (value > MAX_INT) {
throw new Error("El valor excede el rango de un entero de 32 bits.");
}

MIN_INT

Constante que representa el valor mínimo que un entero con signo de 32 bits puede almacenar (-2,147,483,648).

Ejemplo:

    if (value < MIN_INT) {
throw new Error("El valor está por debajo del rango de un entero de 32 bits.");
}

DEBUG

Indica si la aplicación se está ejecutando en modo debug.
Útil para habilitar registros adicionales, perfiles o diagnósticos.

Ejemplo:

    if (DEBUG) {
console.log("Depuración habilitada – se mostrarán registros detallados.");
}

EDITOR

Indica si la aplicación se está ejecutando dentro de un entorno de editor (en lugar de runtime).

Caso de uso:
Habilitar herramientas solo para el editor, paneles de UI o superposiciones de depuración.

Ejemplo:

ts
if (EDITOR) {
showEditorToolbar();
}

IS_MOBILE

Indica si el dispositivo actual es una plataforma móvil.

Ejemplo:

    if (IS_MOBILE) {
enableTouchControls();
} else {
enableKeyboardControls();
}

PLATFORM_WINDOWS

Indica si el sistema operativo actual es Windows.

Ejemplo:

    if (PLATFORM_WINDOWS) {
console.log("Ejecutando en Windows");
}

PLATFORM_MACOS

Indica si el sistema operativo actual es macOS.

Ejemplo:

    if (PLATFORM_MACOS) {
console.log("Ejecutando en macOS");
}

PLATFORM_LINUX

Indica si el sistema operativo actual es Linux.

Ejemplo:

    if (PLATFORM_LINUX) {
console.log("Ejecutando en Linux");
}

PLATFORM_ANDROID

Indica si el sistema operativo actual es Android.

Ejemplo:

    if (PLATFORM_ANDROID) {
console.log("Ejecutando en Android");
}

PLATFORM_IOS

Indica si el sistema operativo actual es iOS.

Ejemplo:

    if (PLATFORM_IOS) {
console.log("Ejecutando en iOS");
}

DEG_TO_RAD(x: number): number

Convierte un ángulo de grados a radianes.

Ejemplo:

    const radians = DEG_TO_RAD(90); // 1.5708 (π/2)

RAD_TO_DEG(x: number): number

Convierte un ángulo de radianes a grados.

Ejemplo:

    const degrees = RAD_TO_DEG(M_PI); // 180

ASSERT(x: any): void

Verifica si una condición es verdadera y lanza un error en caso contrario.

Ejemplo:

    ASSERT(player != null); // Lanza error si player es null

SURL(url: string): string

Convierte una URL en una URL segura en sandbox, asegurando que esté codificada correctamente. Útil para normalizar URLs antes de realizar solicitudes.

Ejemplo:

    const safeUrl = SURL("https://example.com/unsafe?param=hello world");
fetch(safeUrl);

self

Referencia al Behaviour actual en el contexto de ejecución.
Se usa para acceder y manipular propiedades o métodos relacionados con el Behaviour.

Ejemplo:

    self.position.set(0, 1, 0);
self.rotateY(Math.PI / 2);

scene

Referencia global al objeto THREE.Scene. Es el contenedor central para todos los elementos 3D de la aplicación, permitiendo añadir, eliminar y modificar objetos dinámicamente.

Ejemplo:

    scene.add(new THREE.Mesh(new THREE.BoxGeometry(), new THREE.MeshBasicMaterial()));
scene.remove(oldObject);

camera

Proporciona acceso global a la THREE.Camera de la escena. Se usa para configurar y manipular propiedades de la cámara.

Ejemplo:

    camera.position.set(0, 5, 10);
camera.lookAt(0, 0, 0);

audioListener

Proporciona acceso global a la instancia de THREE.AudioListener adjunta a la cámara. Es esencial para gestionar y crear fuentes de audio dinámicas dentro de la escena 3D.

Ejemplo:

    const sound = new THREE.Audio(audioListener);
sound.setBuffer(audioBuffer);
sound.play();