para escribir scripts que aprovechen las mismas acciones que están disponibles enState
Machine (Máquina de estado)Comportamientos, así como sus propias acciones personalizadas.
Estas acciones se pueden configurar dinámicamente y orquestar mediante scripts de maneras
poderosas, más allá de lo que se puede hacer fácilmente usando elState Machine (Máquina de
estado)Componente.
Puede usar el objeto de contexto,ctx() para almacenar los datos del script durante el tiempo de vida del
script. El contexto se crea ensetup()y se borra elcleanup()y se pasa a todas las funciones del script.
Tiene las siguientes propiedades:
Properties
• entity(Entity(): entidad a la que está asociado el script.
• entityData(Object(): objeto de datos compartido entre todos los scripts de la entidad.
• activeCameraEntity(Entity(): entidad de cámara activa actualmente.
• domElement(HTMLCanvasElement(): elemento de lienzo de WebGL.
• playTime(number(): tiempo transcurrido desde el inicio de la escena.
• transitions(Object(): funciones de transición que se utilizan para indicar si unaEjecución de
scriptsaction en
• viewportHeight(number(): altura del lienzo.
• viewportWidth(number(): anchura del lienzo.
• world(World() — objeto mundo.
• worldData(Object(): objeto de datos compartido entre todos los scripts del mundo.
Algunas de las propiedades dectxse comparten entre scripts.entityDataTodos los scripts de la entidad
yworldDataTodos los scripts comparten. Inicialmente están vacíos, y se puede utilizar para almacenar
cualquier clase de datos
Por ejemplo, si queremos definir una propiedad denominada aceleración, podemos hacer que esté
disponible en tres niveles:
// Only accessible to the script that defined the property
ctx.acceleration=9.82;
// Accessible to all scripts on the entity
ctx.entityData.acceleration=9.82;
// Accessible to all scripts
ctx.worldData.acceleration=9.82;
Las propiedades de contexto incorporadas también contienen algunas funciones prácticas. Por ejemplo,
elworld() permite buscar entidades en función de sus etiquetas. Puede obtener todas las entidades con
una etiqueta específica con ctx.world.by.tag:
var entities = ctx.world.by.tag('myTag');
Parámetros y argumentos
Note
La versión preliminar del
de secuencias de comandos le proporciona abstracciones de nivel superior que puede utilizar
Amazon Sumerian Guía del usuario
Parámetros y argumentos
unamáquina de estado (p.
nuevoAPI de motor
237).
sumerianya está disponible. El nuevo formato
248