Introducción a los Behaviours
Puedes agregar componentes de Behaviours con un contexto de THREE.js para crear scripts personalizados que modifiquen el comportamiento de tus objetos, haciendo tu escena más dinámica e interactiva. Además, tienes disponible una terminal que mostrará todas las salidas de los scripts para depuración y pruebas.
Descripción General de la Gestión del Ciclo de Vida
Proporcionamos una plantilla de script sencilla para gestionar el ciclo de vida de un objeto dentro de una escena. Incluye tres funciones esenciales que controlan el Behaviour desde la creación hasta la destrucción:
/*
* Directiva que conecta con los hooks del ciclo de vida.
*/
#pragma lifecycle(startup, update, dispose)
/*
* Se ejecuta una vez cuando el objeto es instanciado en la escena.
*/
function startup() {
}
/*
* Se ejecuta en cada frame para gestionar actualizaciones dinámicas.
*/
function update(delta, time) {
}
/*
* Se ejecuta cuando el objeto es destruido para liberar recursos.
*/
function dispose() {
}
La Directiva
La directiva #pragma lifecycle(startup, update, dispose)
enlaza tus funciones personalizadas con los hooks del ciclo de vida del sistema. Esto garantiza que startup()
, update()
, y dispose()
se ejecuten en las etapas correctas del ciclo de vida de tu objeto.
Desglose de Funciones
1. startup()
- Cuándo se ejecuta: Se llama una vez cuando el objeto es creado o agregado a la escena.
- Propósito: Se utiliza para configuraciones iniciales, como establecer posiciones, cargar recursos o inicializar variables.
- Ejemplo: Definir la posición inicial de un personaje, cargar texturas o establecer valores iniciales.
2. update(delta, time)
- Cuándo se ejecuta: Se llama en cada frame mientras el objeto exista.
- Propósito: Gestiona actualizaciones continuas y comportamientos dinámicos como movimiento, animaciones o entrada del usuario.
- Parámetros:
delta
: Tiempo transcurrido desde el último frame (útil para movimientos fluidos).time
: Tiempo total desde que inició la aplicación (útil para eventos basados en tiempo).
- Ejemplo: Mover un personaje, animar una pelota que rebota o activar acciones basadas en la entrada del usuario.
3. dispose()
- Cuándo se ejecuta: Se llama cuando el objeto es eliminado o destruido.
- Propósito: Libera y limpia recursos como texturas o listeners para liberar memoria.
- Ejemplo: Detener sonidos, limpiar intervalos o descargar texturas.
Al implementar estas funciones, aseguras que tus objetos estén correctamente gestionados desde su creación hasta su eliminación.
Modo de Prueba (Vista Previa del Script)
Antes de publicar tu escena, puedes previsualizar y probar tus scripts directamente en el editor. Esto ayuda a detectar errores y asegura que los comportamientos dinámicos funcionen correctamente.
Haz clic en el ícono de Play en la barra de herramientas para ejecutar tu script dentro del viewport. Podrás interactuar con la escena y monitorear cualquier registro o advertencia en la consola.
⚠️ Nota Importante
Solo las funciones startup()
, update(delta, time)
y dispose()
son reconocidas por el sistema de ciclo de vida. Cualquier función adicional o código escrito fuera de estos hooks no será ejecutado automáticamente.
Para un uso más avanzado y detalles de la API, visita nuestra sección dedicada.