Work in progress
The content of this page was not yet updated for Godot
4.6
and may be outdated. If you know how to improve this page or you can confirm
that it's up to date, feel free to open a pull request.
Referencia de la clase HTML5
Los proyectos exportados para la Web exponen la clase Engine() al entorno JavaScript, que permite un fino control sobre el proceso de arranque del motor.
Esta API está construida de modo asíncrono y requiere comprensión básica de Promesas.
Engine
La clase Engine proporciona métodos para cargar e iniciar proyectos exportados en la Web. Para la configuración de exportación por defecto, esto ya forma parte de la página HTML exportada. Para comprender el uso práctico de la clase Engine, véase Página HTML personalizada para exportación Web.
Métodos estáticos
Promesa |
|
void |
|
boolean |
|
Métodos de Instancia
Promesa |
|
Promesa |
|
Promesa |
|
Promesa |
|
void |
|
void |
|
- class Engine(initConfig)
Crear una nueva instancia de la clase Engine con la configuración provista.
- Argumentos:
initConfig (
EngineConfig()) -- Configuración inicial para esta instancia.
Métodos estáticos
- Engine.load(basePath)
Carga el motor desde la ruta base indicada.
- Argumentos:
basePath (
string()) -- Ruta base del motor para cargar.
- Devuelve:
Una promesa que se resolverá una vez que el archivo es cargado.
- Tipo del valor devuelto:
Promesa
- Engine.unload()
Descarga el motor para liberar memoria.
Esto es llamado automáticamente dependiendo de la configuración. Ver
unloadAfterInit.
- Engine.isWebGLAvailable([majorVersion=1])
Verifica si WebGL está disponible. Opcionalmente, puedes especificar una versión particular de WebGL para verificar su disponibilidad.
- Argumentos:
majorVersion (
number()) -- La versión principal de WebGL que se va a verificar.
- Devuelve:
Si la versión superior de WebGL está disponible.
- Tipo del valor devuelto:
boolean
Métodos de Instancia
- Engine.prototype.init([basePath])
Inicializa la instancia del motor. Opcionalmente, pasa la ruta base al motor para cargarlo, si aún no ha sido cargado. Consulta
Engine.load().- Argumentos:
basePath (
string()) -- Ruta base del motor para cargar.
- Devuelve:
Una
Promisede que resolverá una vez que el motor es cargado e inicializado.- Tipo del valor devuelto:
Promesa
- Engine.prototype.preloadFile(file[, path])
Carga un archivo para que esté disponible en el sistema de archivos una vez que la instancia es ejecutada. Debe llamarse antes de iniciar la instancia.
Si no se proporciona, el
pathse deriva de la URL del archivo cargado.- Argumentos:
file (
string|ArrayBuffer()) -- El archivo a precargar. Si es unstringel archivo se cargará desde esa ruta. Si es unArrayBuffero una vista sobre uno, el búfer se usará como contenido del archivo.path (
string()) -- Ruta en la cual el archivo está disponible. Es mandatorio sifileno es un string.
- Devuelve:
Una Promesa que resolverá una vez que el archivo es cargado.
- Tipo del valor devuelto:
Promesa
- Engine.prototype.start(override)
Inicia la instancia del motor usando la configuración dada (si existe).
startGamepuede usarse en casos típicos.Esto inicializará la instancia si no está inicializada. Para la inicialización manual, consulta
init. El motor debe ser cargado previamente.Fallará si no se puede encontrar un lienzo (canvas) en la página o si no se especifica en la configuración.
- Argumentos:
override (
EngineConfig()) -- Anulación de una configuración opcional.
- Devuelve:
Devuelve una promesa de que resolverá una vez que el motor ha iniciado.
- Tipo del valor devuelto:
Promesa
- Engine.prototype.startGame(override)
Inicia la instancia del juego utilizando la anulación de configuración proporcionada (si existe).
Esto inicializará la instancia si aún no está inicializada. Para la inicialización manual, consulta
init.Esto cargará el motor si aun no está cargado y precargara el pck principal.
Este método espera que la configuración inicial (o la anulación) tenga establecidas tanto las propiedades
executablecomomainPack(normalmente realizado por el editor durante la exportación).- Argumentos:
override (
EngineConfig()) -- Anulación de una configuración opcional.
- Devuelve:
Devuelve una promesa de que resolverá una vez que el juego ha arrancado.
- Tipo del valor devuelto:
Promesa
- Engine.prototype.copyToFS(path, buffer)
Crea un archivo en la ruta especificada en
pathcon el contenido proporcionado comobufferen el sistema de archivos de la instancia.- Argumentos:
path (
string()) -- La ubicación donde el archivo será creado.buffer (
ArrayBuffer()) -- La ruta absoluta al archivo.
- Engine.prototype.requestQuit()
Solicita que la instancia actual se cierre o termine.
Esto es similar a cuando el usuario presiona el botón de cerrar en el administrador de ventanas y no tendrá efecto si el motor ha fallado o está atrapado en un bucle.
Configuración del Motor
Un objeto utilizado para configurar la instancia del motor según las opciones de exportación de Godot y para anular esas configuraciones en plantillas HTML personalizadas si es necesario.
Propiedades
tipo |
nombre |
boolean |
|
HTMLCanvasElement |
|
string |
|
string |
|
string |
|
número |
|
Array.<string> |
|
función |
|
función |
|
función |
|
función |
|
función |
- EngineConfig
El objeto de configuración del motor. Esto es solo un tipo definido (typedef), créalo como un objeto normal, por ejemplo:
const MyConfig = { executable: 'godot', unloadAfterInit: false }Descripción de Propiedad
- unloadAfterInit
Si se debe descargar automáticamente el motor después de que se inicialice la instancia.
- tipo:
boolean
- valor:
true
- canvas
El objeto DOM Canvas de HTML que se utilizará.
Por defecto, se utilizará el primer elemento canvas en el documento si no se especifica ninguno.
- tipo:
HTMLCanvasElement
- valor:
null
- executable
El nombre del archivo WASM sin la extensión. (Establecido por el proceso de exportación del Editor de Godot).
- tipo:
string
- valor:
""
- mainPack
Un nombre alternativo para el archivo pck del juego para cargar. Si no se proporciona, se utiliza el nombre del ejecutable.
- tipo:
string
- valor:
null
- locale
Especifica un código de idioma para seleccionar la localización adecuada para el juego.
Si no se especifica ninguno, se utilizará la configuración regional del navegador. Consulta la lista completa de locales compatibles.
- tipo:
string
- valor:
null
- canvasResizePolicy
La política de redimensionamiento del lienzo determina cómo Godot debe redimensionar el lienzo.
El valor
0significa que Godot no realizará ningún redimensionamiento. Esto es útil si deseas controlar el tamaño del lienzo desde el código de JavaScript en tu plantilla.El valor
1significa que Godot redimensionará el lienzo al iniciar y al cambiar el tamaño de la ventana a través de las funciones del motor.El valor
2significa que Godot adaptará el tamaño del lienzo para que coincida con toda la ventana del navegador.- tipo:
número
- valor:
2
- args
Los argumentos que se pasarán como argumentos de línea de comandos al inicio.
Consulta el tutorial de línea de comandos para más información.
Nota:
startGamesiempre agregará el argumento--main-pack.- tipo:
Array.<string>
- valor:
[]
- onExecute(path, args)
Una función de callback para manejar las llamadas de
OS.executede Godot.This is for example used in the Web Editor template to switch between Project Manager and editor, and for running the game.
- Argumentos:
path (
string()) -- La ruta que Godot desea ejecutar.args (
Array.) -- Los argumentos del "comando" a ejecutar.
- onExit(status_code)
Una función de devolución de llamada para ser notificado cuando la instancia de Godot se cierra.
Nota: Esta función no será llamada si el motor se bloquea o se vuelve irresponsivo.
- Argumentos:
status_code (
number()) -- El código de estado devuelto por Godot al salir.
- onProgress(current, total)
Una función de devolución de llamada para mostrar el progreso de la descarga.
La función se llama una vez por cuadro (frame) mientras se descargan archivos, por lo que no es necesario usar
requestAnimationFrame().Si la función de devolución de llamada recibe un total de bytes igual a 0, esto significa que no es posible calcularlo. Algunas razones posibles incluyen:
Los archivos son distribuidos con chunked compression del lado del servidor
Los archivos son distribuidos con compresión del lado del servidor en Chromium
Algunas descargas no han iniciado todavía (usualmente en servidores sin multi-threading)
- Argumentos:
current (
number()) -- La cantidad actual de bytes descargados hasta el momento.total (
number()) -- La cantidad total de bytes que se deben descargar.
- onPrint([...var_args])
Una función de devolución de llamada para manejar la secuencia de salida estándar. Normalmente, solo se debe utilizar en páginas de depuración.
Por defecto, se usa
console.log().- Argumentos:
var_args (
*()) -- Un número variable de argumentos para ser impresos.
- onPrintError([...var_args])
Una función de devolución de llamada para manejar la secuencia de error estándar. Este método generalmente solo se debe usar en páginas de depuración.
Por defecto, se usa
console.error().- Argumentos:
var_args (
*()) -- Un número variable de argumentos para ser impresos como errores.