Escribe tus propios Scripts

Overte's robust JavaScript API provides the tools for you to build great content and experiences, whether the user is in VR or on Desktop.

En esta sección, puedes encontrar ejemplos de código simples para realizar tareas comunes en Overte. Para ver estos ejemplos en acción, copia el código en un archivo testScripts.js, guardado en tu computadora.

Note

Entity scripts, unlike interface scripts, are in containing functions. The example scripts here cannot be attached to an entity (and be used as an entity script) unless they are in a containing function function() {}.

En Esta Página:

Escribir en la Ventana de Depuración

Este es un ejemplo de un script de interface y no puede ser adjuntado a una entidad. Muestra cómo imprimir algo en la ventana de depuración. En este ejemplo, comenzaremos con un simple script "Hola, Mundo".

"use strict";
print("Hello, World");
  1. Copia y pega esto en un archivo llamado testScript.js y guárdalo en tu computadora.

  2. Cuando cargues y ejecutes este script, escribirá las palabras "Hola, Mundo" en la 'Ventana de Depuración' de Overte.

Crear una Entidad

En lugar de usar la aplicación Crear para añadir una entidad, puedes crear una usando un script de interface.

"use strict";
// Get your position in the domain, so that the cube is spawned in front of you
const position = Vec3.sum(MyAvatar.position, Quat.getFront(MyAvatar.orientation));
const properties = {
    type: "Box",
    name: "ScriptBox",
    position: position,
    color: { red: 255, green: 0, blue: 0 }
};
const entityID = Entities.addEntity(properties);
print("Entity added");
  1. Copia y pega esto en un archivo llamado testScript.js y guárdalo en tu computadora.

  2. Al cargar y ejecutar este script, este localizará tu avatar en el dominio, creará una nueva entidad según las propiedades personalizadas que hayas configurado y luego mostrará una línea en la ventana de depuración. En este caso, la entidad será un cuadro rojo.

Editar una Entidad

Para manipular las propiedades de una entidad, puedes usar Entities.editEntity en un script de interface.

"use strict";
const entityID = Entities.addEntity({
    type: "Box",
    position: Vec3.sum(MyAvatar.position, Quat.getFront(MyAvatar.orientation)),
});

let properties = Entities.getEntityProperties(entityID, ["color"]);
print("Entity color: " + JSON.stringify(properties.color));

Entities.editEntity(entityID, {
    color: { red: 255, green: 0, blue: 0 }
});
properties = Entities.getEntityProperties(entityID, ["color"]);
print("Entity color: " + JSON.stringify(properties.color));
  1. Copia y pega esto en un archivo llamado testScript.js y guárdalo en tu computadora.

  2. Cuando cargues y ejecutes este script, localizará tu avatar en el dominio, creará una nueva entidad con las propiedades personalizadas que hayas configurado, y luego imprimirá el color de esa entidad en la 'Ventana de Depuración'. Luego, el script cambia el color de la entidad a rojo e imprime el nuevo color en la 'Ventana de Depuración'.

Note

In these examples we include "use strict" on the first line. Please include this at the start of all of your scripts, as it will alert you to mistakes in your code and in some cases make your script run faster. See Strict mode for more information.

Ver también