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

load ( string basePath )

void

unload ( )

boolean

isWebGLAvailable ( [ number majorVersion=1 ] )

Métodos de Instancia

Promesa

init ( [ string basePath ] )

Promesa

preloadFile ( string|ArrayBuffer file [, string path ] )

Promesa

start ( EngineConfig override )

Promesa

startGame ( EngineConfig override )

void

copyToFS ( string path, ArrayBuffer buffer )

void

requestQuit ( )

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 un string el archivo se cargará desde esa ruta. Si es un ArrayBuffer 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 si file 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 como mainPack (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 en buffer 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

unloadAfterInit

HTMLCanvasElement

canvas

string

executable

string

mainPack

string

locale

Numero

canvasResizePolicy

Array.<string>

args

función

onExecute

función

onExit

función

onProgress

función

onPrint

función

onPrintError

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.