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.

Посилання на клас оболонки HTML5

Проекти, експортовані для Інтернету, надають клас Engine() середовищу JavaScript, що дозволяє точно контролювати процес запуску двигуна.

Цей API створено асинхронним способом і вимагає базового розуміння Promises.

Двигун

Клас Engine надає методи для завантаження та запуску експортованих проектів в Інтернеті. Для параметрів експорту за замовчуванням це вже є частиною експортованої сторінки HTML. Щоб зрозуміти практичне використання класу Engine, перегляньте Custom HTML page for Web export.

Статичні методи

Обіцяю

load ( рядок basePath )

Void

unload ( )

логічний

isWebGLAvailable ( [ number majorVersion=1 ] )

Методи екземплярів

Обіцяю

init ( [ string basePath ] )

Обіцяю

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

Обіцяю

start ( EngineConfig override )

Обіцяю

startGame ( EngineConfig override )

Void

copyToFS ( string path, ArrayBuffer buffer )

Void

requestQuit ( )

class Engine(initConfig)

Створіть новий екземпляр Engine із заданою конфігурацією.

Аргументи:
  • initConfig (EngineConfig()) -- Початкова конфігурація для цього екземпляра.

Статичні методи

Engine.load(basePath)

Завантажте двигун із зазначеного базового шляху.

Аргументи:
  • basePath (string()) -- Базовий шлях двигуна до завантаження.

Повертає:

Обіцянка, яка вирішується після завантаження двигуна.

Тип повернення:

Обіцяю

Engine.unload()

Розвантажте двигун, щоб звільнити пам'ять.

Цей метод буде викликатися автоматично залежно від конфігурації. Перегляньте unloadAfterInit.

Engine.isWebGLAvailable([majorVersion=1])

Перевірте, чи доступний WebGL. За бажанням можна вказати конкретну версію WebGL, яку потрібно перевірити.

Аргументи:
  • majorVersion (number()) -- Основна версія WebGL, яку потрібно перевірити.

Повертає:

Якщо дана основна версія WebGL доступна.

Тип повернення:

логічний

Методи екземплярів

Engine.prototype.init([basePath])

Ініціалізуйте екземпляр двигуна. За бажанням передайте базовий шлях механізму, щоб завантажити його, якщо він ще не завантажений. Перегляньте Engine.load().

Аргументи:
  • basePath (string()) -- Базовий шлях двигуна до завантаження.

Повертає:

Promise, який вирішується після завантаження та ініціалізації двигуна.

Тип повернення:

Обіцяю

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

Завантажте файл, щоб він був доступний у файловій системі примірника після його запуску. Потрібно викликати перед запуском примірника.

Якщо не вказано, шлях отримується з URL-адреси завантаженого файлу.

Аргументи:
  • file (string|ArrayBuffer()) -- Файл для попереднього завантаження. Якщо рядок, файл буде завантажено з цього шляху. Якщо ArrayBuffer або перегляд на одному, буфер використовуватиметься як вміст файлу.

  • path (string()) -- Шлях, за яким буде доступний файл. Обов’язковий, якщо файл не є рядком.

Повертає:

Обіцянка, яка вирішується після завантаження файлу.

Тип повернення:

Обіцяю

Engine.prototype.start(override)

Запустіть екземпляр двигуна, використовуючи задану конфігурацію перевизначення (якщо є). startGame можна використовувати в типових випадках.

Це ініціалізує примірник, якщо він не ініціалізований. Для ініціалізації вручну див. init. Двигун необхідно попередньо завантажити.

Помилка, якщо полотно не знайдено на сторінці або не вказано в конфігурації.

Аргументи:
  • override (EngineConfig()) -- Додаткова зміна конфігурації.

Повертає:

Обіцянка, яка вирішується після запуску двигуна.

Тип повернення:

Обіцяю

Engine.prototype.startGame(override)

Запустіть екземпляр гри, використовуючи перевизначення заданої конфігурації (якщо є).

Це ініціалізує примірник, якщо він не ініціалізований. Для ініціалізації вручну див. init.

Це завантажить двигун, якщо він не завантажений, і попередньо завантажить основний pck.

Цей метод очікує, що початкова конфігурація (або перевизначення) матиме обидві властивості: executable і mainPack (зазвичай робиться редактором під час експорту).

Аргументи:
  • override (EngineConfig()) -- Додаткова зміна конфігурації.

Повертає:

Обіцянка, яка вирішується після початку гри.

Тип повернення:

Обіцяю

Engine.prototype.copyToFS(path, buffer)

Створіть файл за вказаним шляхом із переданим буфером у файловій системі примірника.

Аргументи:
  • path (string()) -- Місце, де буде створено файл.

  • buffer (ArrayBuffer()) -- Вміст файлу.

Engine.prototype.requestQuit()

Запит на вихід поточного екземпляра.

Це схоже на натискання користувачем кнопки закриття в диспетчері вікон і не матиме жодного ефекту, якщо система вийшла з ладу або застрягла в циклі.

Конфігурація движка

Об’єкт, який використовується для налаштування екземпляра Engine на основі параметрів експорту godot і для заміни цих параметрів у власних шаблонах HTML, якщо це необхідно.

Властивості

типу

name

логічний

unloadAfterInit

Елемент HTML Canvas

canvas

текст

executable

текст

mainPack

текст

locale

номер

canvasResizePolicy

Array.<string>

args

функція

onExecute

функція

onExit

функція

onProgress

функція

onPrint

функція

onPrintError

EngineConfig

Об'єкт конфігурації Engine. Це лише визначення типу, створіть його як звичайний об’єкт, наприклад:

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

Опис нерухомості

unloadAfterInit

Чи розвантажувати механізм автоматично після ініціалізації екземпляра.

типу:

логічний

значення:

ture

canvas

Об’єкт HTML DOM Canvas для використання.

За замовчуванням буде використано перший елемент canvas у документі, якщо не вказано жодного.

типу:

Елемент HTML Canvas

значення:

null

executable

Ім'я файлу WASM без розширення. (Встановлено процесом експорту редактора Godot).

типу:

текст

значення:

""

mainPack

Альтернативна назва гри, яку потрібно завантажити. В іншому випадку використовується назва виконуваного файлу.

типу:

текст

значення:

null

locale

Вкажіть код мови, щоб вибрати правильну локалізацію для гри.

Мова браузера буде використана, якщо її не вказано. Перегляньте повний список supported locales.

типу:

текст

значення:

null

canvasResizePolicy

Політика зміни розміру полотна визначає, як Godot має змінити розмір полотна.

0 означає, що Godot не змінюватиме розмір. Це корисно, якщо ви хочете керувати розміром полотна з коду javascript у вашому шаблоні.

1 означає, що Godot змінить розмір полотна під час запуску та під час зміни розміру вікна за допомогою функцій двигуна.

2 означає, що Godot адаптує розмір полотна до всього вікна браузера.

типу:

номер

значення:

2

args

Аргументи, які передаються як аргументи командного рядка під час запуску.

Див. command line tutorial.

Примітка: startGame завжди додаватиме аргумент --main-pack.

типу:

Array.<string>

значення:

[]

onExecute(path, args)

Функція зворотного виклику для обробки викликів OS.execute Godot.

Це, наприклад, використовується в шаблоні веб-редактора для перемикання між менеджером проекту та редактором, а також для запуску гри.

Аргументи:
  • path (string()) -- Шлях, який Godot хоче здійснити.

  • args (Array.) -- Аргументи «команди» для виконання.

onExit(status_code)

Функція зворотного виклику для отримання сповіщень, коли примірник Godot завершує роботу.

Примітка: ця функція не буде викликана, якщо двигун виходить з ладу або перестає реагувати.

Аргументи:
  • status_code (number()) -- Код стану, який повертає Godot при виході.

onProgress(current, total)

Функція зворотного виклику для відображення прогресу завантаження.

Функція викликається один раз для кожного кадру під час завантаження файлів, тому використовувати requestAnimationFrame() не потрібно.

Якщо функція зворотного виклику отримує загальну кількість байтів як 0, це означає, що її неможливо обчислити. Можливі причини:

  • Файли доставляються з частковим стисненням на стороні сервера

  • Файли доставляються зі стисненням на стороні сервера в Chromium

  • Ще не всі завантаження файлів почалися (зазвичай на серверах без багатопоточності)

Аргументи:
  • current (number()) -- Поточний обсяг завантажених байтів на даний момент.

  • total (number()) -- Загальна кількість байтів для завантаження.

onPrint([...var_args])

Функція зворотного виклику для обробки стандартного потоку виводу. Зазвичай цей метод слід використовувати лише на сторінках налагодження.

За замовчуванням використовується console.log().

Аргументи:
  • var_args (*()) -- Різна кількість аргументів для друку.

onPrintError([...var_args])

Функція зворотного виклику для обробки стандартного потоку помилок. Зазвичай цей метод слід використовувати лише на сторінках налагодження.

За замовчуванням використовується console.error().

Аргументи:
  • var_args (*()) -- Різна кількість аргументів, які будуть надруковані як помилки.