Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

Referência da classe shell HTML5

Os projetos exportados para a Web expõem a classe Engine() ao ambiente JavaScript, que permite um controle fino sobre o processo de partida do motor.

Este API é construído de uma maneira assíncrona e requer conhecimento básico sobre Promises.

Engine

A classe Engine fornece métodos para carregar e inicializar projetos exportados na Web. Para configurações de exportação padrão, isto já é parte da página HTML exportada. Para entender o uso prático da classe Engine, veja Personalizar página HTML para exportação Web.

Métodos Estáticos

Promesa

load ( string basePath )

void

unload ( )

booleano

isWebGLAvailable ( [ number majorVersion=1 ] )

Métodos de Instância

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)

Criar uma nova instância de Engine com a configuração dada.

Argumentos:
  • initConfig (EngineConfig()) -- A configuração inicial para esta instância.

Métodos Estáticos

Engine.load(basePath)

Carrega o motor a partir do caminho base especificado.

Argumentos:
  • basePath (string()) -- O caminho base do motor a ser carregado.

Retorna:

Uma Promise que se resolve assim que o motor for carregado.

Tipo de retorno:

Promesa

Engine.unload()

Descarrega o motor para liberar memória.

Este método será chamado automaticamente dependendo da configuração. Veja unloadAfterInit.

Engine.isWebGLAvailable([majorVersion=1])

Verifica se o WebGL está disponível. Opcionalmente, especifique uma versão específica do WebGL para verificar.

Argumentos:
  • majorVersion (number()) -- A versão principal do WebGL a ser verificada.

Retorna:

Se a versão principal especificada do WebGL estiver disponível.

Tipo de retorno:

booleano

Métodos de instância

Engine.prototype.init([basePath])

Inicializa a instância do motor. Opcionalmente, passe o caminho base para o motor para carregá-lo, caso ainda não tenha sido carregado. Veja Engine.load().

Argumentos:
  • basePath (string()) -- O caminho base do motor a ser carregado.

Retorna:

A Promise that resolves once the engine is loaded and initialized.

Tipo de retorno:

Promesa

Engine.prototype.preloadFile(file[, path])

Carrega previamente um arquivo para que ele esteja disponível no sistema de arquivos da instância assim que ela for executada. Deve ser chamado antes de iniciar a instância.

Se não for fornecido, o path (caminho) é derivado da URL do arquivo carregado.

Argumentos:
  • file (string|ArrayBuffer()) -- O arquivo a ser pré-carregado. Se for uma string, o arquivo será carregado a partir daquele caminho. Se for um ArrayBuffer ou uma visão de um, o buffer será usado como o conteúdo do arquivo.

  • path (string()) -- Caminho pelo qual o arquivo estará acessível. Obrigatório, se arquivo não for uma string.

Retorna:

Uma Promise que se resolve assim que o arquivo for carregado.

Tipo de retorno:

Promesa

Engine.prototype.start(override)

Inicie a instância da engine usando a configuração de substituição fornecida (se houver). startGame pode ser usado em casos típicos.

Isso inicializará a instância caso ela não esteja inicializada. Para inicialização manual, veja init. O motor deve ser carregado previamente.

Falha se um canvas não puder ser encontrado na página ou se não for especificado na configuração.

Argumentos:
  • override (EngineConfig()) -- Uma substituição opcional de configuração.

Retorna:

A Promise that resolves once the engine started.

Tipo de retorno:

Promesa

Engine.prototype.startGame(override)

Inicia a instância do jogo usando a substituição de configuração fornecida (se houver).

Isso inicializará a instância caso ela não esteja inicializada. Para inicialização manual, veja init.

Isso carregará o motor caso ele não esteja carregado e pré-carregará o pck principal.

Este método espera que a configuração inicial (ou a substituição) tenha as propriedades executable e mainPack definidas (normalmente feito pelo editor durante a exportação).

Argumentos:
  • override (EngineConfig()) -- Uma substituição opcional de configuração.

Retorna:

A Promise that resolves once the game started.

Tipo de retorno:

Promesa

Engine.prototype.copyToFS(path, buffer)

Cria um arquivo no path especificado com o conteúdo passado como buffer no sistema de arquivos da instância.

Argumentos:
  • path (string()) -- O local onde o arquivo será criado.

  • buffer (ArrayBuffer()) -- O conteúdo do arquivo.

Engine.prototype.requestQuit()

Solicite que a instância atual seja encerrada.

Isso é semelhante ao usuário pressionar o botão de fechar no gerenciador de janelas e não terá efeito se o motor tiver travado ou estiver travado em um loop.

Configuração da engine

Um objeto usado para configurar a instância do Engine com base nas opções de exportação do Godot e para substituir essas opções em modelos HTML personalizados, se necessário.

Propriedades

tipo

name

booleano

unloadAfterInit

HTMLCanvasElement

canvas

string

executable

string

mainPack

string

locale

número

canvasResizePolicy

Matriz.<string>

args

função

onExecute

função

onExit

função

onProgress

função

onPrint

função

onPrintError

EngineConfig

O objeto de configuração do Engine. Isso é apenas um typedef, crie-o como um objeto regular, por exemplo:

const MyConfig = { executable: 'godot', unloadAfterInit: false }

Descrições de propriedade

unloadAfterInit

Se o motor deve ser descarregado automaticamente após a instância ser inicializada.

tipo:

booleano

Valor:

true

canvas

O objeto HTML DOM Canvas a ser usado.

Por padrão, o primeiro elemento canvas no documento será usado se nenhum for especificado.

tipo:

HTMLCanvasElement

Valor:

null

executable

O nome do arquivo WASM sem a extensão. (Definido pelo processo de exportação do Editor Godot).

tipo:

string

Valor:

""

mainPack

Um nome alternativo para o pck do jogo a ser carregado. Caso contrário, o nome do executável será usado.

tipo:

string

Valor:

null

locale

Especifica um código de idioma para selecionar a localização apropriada para o jogo.

O local de navegação será usado se nenhum for especificado. Veja a lista completa de locais suportados.

tipo:

string

Valor:

null

canvasResizePolicy

A política de redimensionamento do canvas determina como o canvas deve ser redimensionado pelo Godot.

0 means Godot won't do any resizing. This is useful if you want to control the canvas size from JavaScript code in your template.

1 significa que o Godot redimensionará o canvas no início e ao alterar o tamanho da janela por meio de funções do motor.

2 significa que o Godot adaptará o tamanho do canvas para corresponder a toda a janela do navegador.

tipo:

número

Valor:

2

args

Os argumentos a serem passados como argumentos de linha de comando na inicialização.

Veja o tutorial de linha de comando.

Nota: startGame sempre adicionará o argumento --main-pack.

tipo:

Matriz.<string>

Valor:

[]

onExecute(path, args)

Uma função de callback para lidar com chamadas OS.execute do Godot.

Isso é usado, por exemplo, no modelo do Editor Web para alternar entre o Gerenciador de Projetos e o editor, e para executar o jogo.

Argumentos:
  • path (string()) -- O caminho que o Godot deseja que seja executado.

  • args (Array.) -- Os argumentos do "comando" a ser executado.

onExit(status_code)

Uma função de callback para ser notificado quando a instância do Godot for encerrada.

Nota: Esta função não será chamada se o motor travar ou parar de responder.

Argumentos:
  • status_code (number()) -- O código de status retornado pelo Godot ao sair.

onProgress(current, total)

Uma função de callback para exibir o progresso do download.

A função é chamada uma vez por quadro durante o download dos arquivos, portanto, o uso de requestAnimationFrame() não é necessário.

Se a função de callback receber uma quantidade total de bytes igual a 0, isso significa que é impossível calcular. Os motivos possíveis incluem:

  • Os arquivos são entregues com compressão fragmentada do lado do servidor

  • Os arquivos são entregues com compactação do lado do servidor no Chromium

  • Nem todos os downloads de arquivos foram iniciados ainda (geralmente em servidores sem multi-threading)

Argumentos:
  • current (number()) -- A quantidade atual de bytes baixados até o momento.

  • total (number()) -- A quantidade total de bytes a serem baixados.

onPrint([...var_args])

Uma função de callback para lidar com o fluxo de saída padrão (stdout). Este método geralmente só deve ser usado em páginas de depuração.

Por padrão, console.log() é usado.

Argumentos:
  • var_args (*()) -- Um número variado de argumentos a serem exibidos.

onPrintError([...var_args])

Uma função de callback para lidar com o fluxo de erros padrão (stderr). Este método geralmente só deve ser usado em páginas de depuração.

Por padrão, console.error() é usado.

Argumentos:
  • var_args (*()) -- Um número variado de argumentos a serem exibidos como erros.