Work in progress
The content of this page was not yet updated for Godot
4.2
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
, consulte 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
Promise
de 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
path
se deriva de la URL del archivo cargado.- Argumentos
file (
string|ArrayBuffer()
) -- El archivo a precargar. Si es unstring
el archivo se cargará desde esa ruta. Si es unArrayBuffer
o una vista sobre uno, el buffer se usará como contenido del archivo.path (
string()
) -- Ruta en la cual el archivo está disponible. Es mandatorio sifile
no 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).
startGame
puede 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
executable
comomainPack
(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
path
con el contenido proporcionado enbuffer
en 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 |
|
Numero |
|
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
0
significa 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
1
significa 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
2
significa que Godot adaptará el tamaño del lienzo para que coincida con toda la ventana del navegador.- tipo
Numero
- 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:
startGame
siempre agregará el argumento--main-pack
.- tipo
Array.<string>
- valor
[]
- onExecute(path, args)¶
Una función de callback para manejar las llamadas de
OS.execute
de 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.