Управление проектами

Начиная с версии 15.09, SDK включает систему управления проектами, которая позволяет:

  • просматривать список и внутреннюю структуру имеющихся проектов;

  • запускать приложения, просматривать сцены в программе-просмотрщике, загружать исходные файлы сцен в Blender;

  • создавать и конфигурировать новые приложения, в том числе на основе готовых шаблонов;

  • осуществлять сборку приложения и его конверсию в форму, удобную для последующего размещения на сервере;

  • конвертировать ресурсы приложения (текстуры, звуковые и видео-файлы) в альтернативные форматы для обеспечения кроссбраузерности и кроссплатформенности;

  • автоматизировать повторный экспорт всех сцен из состава приложения, включая файлы в формате JSON и HTML;

  • удалять проекты.

Менеджер проектов

Приложение Project Manager доступно из раздела Tools главной страницы SDK. При запуске приложение выводит список из всех проектов, находящихся в установленном SDK.

_images/project_manager_overview.png

Команды для управления проектами находятся в верхней части страницы.

_images/project_manager_actions.png
Back to Index

Возвращает на индексную страницу Blend4Web SDK.

Create New Project

Открывает мастер создания новых проектов.

Import Project(s)

Открывает диалог импорта проектов.

Export Project(s)

Открывает страницу экспорта проектов.

Hide Stock Projects

Позволяет скрыть шаблонные проекты, присутствующие в SDK по умолчанию. Если они уже скрыты, место этой команды занимает команда Show Stock Projects.

Help

Вызывает справку.

Команды управления конкретным проектом находятся справа от него.

Примечание

Некоторые команды могут быть недоступны в зависимости от типа проекта.

_images/project_manager_commands.png
  1. Сборка проекта (недоступно для типов проекта WebPlayer JSON и WebPlayer HTML).

  2. Проверка отсутствующих или неиспользуемых модулей API (недоступно для типов проекта WebPlayer JSON и WebPlayer HTML).

    При активации этой опции менеджер проектов проверяет модули, используемые приложением, и выводит результаты проверки в консоль. Ниже приведены возможные предупреждения:

    1. При отсутствии одного или нескольких модулей API в папке проекта выводится следующее сообщение:

    Module `module_name` is missing in the `project_name.html` project, please include it or run `Update Modules`.

    _images/project_manager_check_modules_missing.png

    Отсутствующие модули могут быть добавлены в проект при помощи кнопки Update Modules.

    1. Если в проекте присутствует один или несколько модулей API, не используемых в программном коде, выводится следующее сообщение:

    Incorrect module `module_name` in the `project_name.html`, please remove it or run `Update Modules`.

    _images/project_manager_check_modules_required.png

    Модули, не используемые в проекте, могут быть удалены из него при помощи кнопки Update Modules.

    1. В том случае, если никаких проблем не обнаружено, выводится следующее сообщение:

    Module check complete. No problems detected in the `module_name.html`.

    _images/project_manager_check_modules_complete.png
  3. Реэкспорт блендеровских сцен в проекте.

  4. Конвертация медиа ресурсов.

  5. Загрузка архива проекта, готового к размещению на сервере.

  6. Удаление проекта со всеми зависимостями.

  7. Обновить файловую структуру. Доступно только для проектов, созданных при помощи более ранней версии Blend4Web, чем версия 16.12.

Примечание

Все пути берутся из конфигурационного файла .b4w_project.

Рядом с именем проекта расположены ссылки на:

  1. страницу информации о проекте,

  2. редактор файлов проекта и

  3. страницу настроек проекта.

Там же указан тип приложения. Приложение может иметь один из следующих типов:

Player

Приложение запускается при помощи веб-плеера.

Dev

Приложение для разработки

Build

Скомпилированное приложение.

Мастер создания проектов

Мастер создания новых проектов входит в состав приложения Project Manager и вызывается по ссылке [Create New Project] на главной странице этого приложения.

_images/project_manager_create_project.png

Кнопка [Back to Projects] используется для возвращения на главную страницу менеджера проектов, а кнопка [Help] вызывает справку.

  1. Имя проекта. Текущим именем будут названы директории в “projects/имя_проекта”, “projects/имя_проекта/assets”, “projects/имя_проекта/blender” и “projects/имя_проекта/build”. Для лучшей совместимости рекомендуется использовать буквы и нижнее подчеркивание.

  2. Название проекта. Это имя будет показываться в заголовке веб-браузера.

  3. Имя автора проекта.

  4. Добавить шаблоны приложения. В директорию проекта “projects/имя_проекта” будут добавлены стандартные шаблоны приложения: html-файл, css-файл, js-файл.

  5. Добавить шаблоны сцены. В директорию “projects/имя_проекта/assets” будет добавлен стандартный json-файл; в директорию “projects/имя_проекта/blender” - blend-файл.

  6. Использовать библиотеку материалов. Blend-файлы библиотеки материалов будут скопированы в директорию проекта “blender/project_name”, файлы медиаресурсов - в директорию “projects/project_name/assets”.

  7. Скопировать скрипт менеджера проектов. Скрипт project.py будет скопирован в директорию проекта.

  8. Тип собираемого проекта. Здесь возможны варианты:

    • Copy - файлы движка прямо копируются в папку приложения из каталога deploy/apps/common/.

      При сборке проекта компилируются только файлы приложения, но не движка (т.е. сам движок не может быть модифицирован);

    • Compile - исходники движка компилируются вместе со скриптами приложения.

      Этот вариант применяется, если необходимо внести изменения в исходный код самого движка;

    • Command - this project type is similar to Compile, but it also gives you an option to set command for compiling the application. Environment variables are also supported.

      Примечание

      Variables like NODE, NPM or PYTHON refer to the corresponding files in the Blend4Web SDK.

    • None - движок не копируется в директорию проекта, также менеджер проектов не производит никаких действий при сборке проекта. Разработчик приложения должен самостоятельно производить все необходимые операции;

    • Web Player JSON - json-файл, находящийся в проекте, запускается при помощи веб-плеера в составе SDK;

    • Web Player HTML - проект состоит из html-файла, внутри которого находятся все необходимые ресурсы.

  9. Уровень оптимизации javascript.

    • “Simple” - в коде заменяются имена переменных;

    • “Advanced” - производится оптимизация кода;

    • “Whitespace Only” - в коде удаляются только пробелы.

  1. URL-атрибуты Веб-плеера. Эта вкладка доступна только если параметр Engine Binding Type имеет значение Web Player JSON или Web Player HTML.

    • “Show FPS” - включает счётчик кадров в секунду в правом верхнем углу окна веб-плеера.

    • “Auto-rotate camera” включает автоматическое вращение камеры сразу после загрузки сцены.

    • “Disable social network buttons” используется для отключения кнопок социальных сетей на панели управления.

    • “Background transparency” используется для установки прозрачности области отрисовки.

    • “Use compressed textures” используется для включения загрузки уменьшенных текстур и текстур с компрессией (формат DDS).

    • “Use compressed textures” используется для включения загрузки уменьшенных текстур и текстур с компрессией (формат PVR).

    • “Use min capabilities”: при включении этой опции веб-плейер запускает приложение так, как если бы оно работало на системе с низкой производительностью (например, на мобильном устройстве).

    • “Use gzip compression” включает использование компрессии gzip.

Создание приложений для Веб-плеера

Главное преимущество приложений для Веб-плеера - простота размещения подобных приложений на веб-страницах.

_images/project_manager_create_web_player_project.png

Создать приложение для Веб-плеера несложно. Для этого достаточно при создании нового проекта выбрать опцию Web Player JSON или Web Player HTML на вкладке Application Type.

Проекты для веб-плеера обладают практически тем же набором параметров, что и проекты других типов. Единственное исключение - группа параметров, известная как Web Player Params.

Настройки проекта

_images/project_manager_web_player_parameters.png

Эта вкладка доступна только в том случае, если включена опция Web Player JSON или Web Player HTML. Перечисленные здесь параметры по сути представляют собой URL-атрибуты, которые веб-плеер будет использовать при запуске проекта.

Сборка и размещение проекта

После того, как работа над проектом завершена, проект может быть собран и размещён на веб-сервере. Этим операциями посвящён отдельный раздел.

Информация о проекте

Эта страница содержит информацию о выбранном проекте и доступна по ссылке [info] рядом с его названием.

_images/project_manager_info.png

Команды

Back to Projects

Возвращает на главную страницу менеджера проектов.

Help

Вызывает справку.

Параметры проекта

Project Name

Имя проекта

Project Title

Название проекта. Это имя будет показываться в заголовке веб-браузера.

Project Author / Company

Имя автора проекта или название компании-разработчика проекта.

Project Icon

Пиктограмма проекта.

Applications

Приложения проекта.

Engine Binding Type

Тип собираемого проекта.

Project Path (Development Directory)

Каталог проекта.

Project Config

Конфигурационный файл проекта.

Build Directory

Каталог, содержащий скомпилированный проекта.

Blend Directory(s)

Каталоги, в которых располагаются blend-файлы проекта.

Assets Directory(s)

Каталоги, в которых располагаются медиаресурсы проекта.

URL Params

URL-параметры, применяемые при запуске приложения.

JavaScript Obfuscation Level

Уровень оптимизации javascript.

JS Compilation Pass-Through List

Список исключений для компиляции JavaScript-файлов проекта.

CSS Compilation Pass-Through List

Список исключений для компиляции таблиц стилей проекта.

Build Ignore List

Список исключений для сборок проекта.

Deployment Assets Directory

Каталог, который будет содержать медиаресурсы размещённого проекта.

Deployment Assets URL Prefix

URL-префикс пути к папке медиаресурсов размещённого проекта, возвращаемый функцией get_assets_path().

Deployment Ignore List

Список исключений для размещения проекта.

Редактирование проекта

По ссылке [edit] рядом с названием проекта доступен простой веб-интерфейс для редактирования файлов проекта.

_images/project_manager_edit_project.png

Левая часть окна редактора содержит список всех .html-, .css- и .js-файлов, находящихся в директории проекта (projects/<мой_проект>). Правая часть содержит текст выбранного файла (по умолчанию файл не выбран) с подсвеченным синтаксисом.

Примечание

Этот интерфейс может использоваться только для редактирования файлов версии для разработки, но не файлов собранной версии.

Новые файлы .html, .js и .css могут быть добавлены в директорию проекта при помощи кнопки [New File].

Для сохранения выбранного файла используются кнопки [Save] и [Save As...] в нижней части страницы.

Конфигурационный файл проекта

Веб-интерфейс, позволяющий просматривать и изменять параметры проекта после его создания.

_images/project_manager_config.png

Параметры на этой странице включают все параметры, доступные при создании проекта, а также несколько дополнительных. Некоторые из параметров доступны только для чтения (и не могут быть изменены после того, как проект создан).

Группа параметров Info

Name

Имя проекта

Этот параметр доступен только для чтения.

Title

Название проекта. Это имя будет показываться в заголовке веб-браузера.

Author

Имя автора проекта или название компании-разработчика проекта.

Icon

Пиктограмма проекта в Менеджере проектов.

Кнопка Choose File применяется для замены пиктограммы. По умолчанию пиктограмма не указана (в этом случае используется логотип Blend4Web).

Группа параметров Build

Apps

Список .HTML файлов проекта, используемых при компиляции приложений. Каждый .HTML файл, указанный здесь, будет считаться отдельным независимым приложением.

Use Physics

Определяет, добавлять ли файлы физического движка в проект. Может быть отключено в случае, если проект не использует физику.

Данная опция всегда отключена для проектов типа WebPlayer HTML и всегда включена для типа WebPlayer JSON. У проектов всех остальных типов может быть установлена вручную.

Application Type

Тип собираемого проекта.

Этот параметр доступен только для чтения, т.к. проекты разных типов обладают различной внутренней структурой.

JavaScript Obfuscation Level

Уровень оптимизации JavaScript для компиляции приложения.

Для проектов типа None, WebPlayer HTML и WebPlayer JSON доступен только для чтения.

JS Compilation Pass-Through List

Список исключений для компиляции JavaScript-файлов проекта.

CSS Compilation Pass-Through List

Список исключений для CSS-файлов проекта.

Build Ignore List

Список исключений для сборок проекта.

Группа параметров Paths

Developer Project Path

Путь к версии приложения, предназначенной для разработки

Этот параметр доступен только для чтения.

Build Project Path

Путь к скомпилированному приложению.

Blend Directory(s)

Путь(и) к каталогу(ам) blend-файлов.

Assets Directory(s)

Путь(и) к каталогу(ам) медиаресурсов.

Blender Exec

Путь к исполняемому файлу Blender.

Deployment Path

Путь к каталогу, предназначенному для финального размещения приложения.

Группа параметров Deploy

Deployment Assets Directory

Каталог, который будет содержать медиаресурсы размещённого проекта.

Deployment Assets URL Prefix

URL-префикс пути к папке медиаресурсов размещённого проекта, возвращаемый функцией get_assets_path().

Deployment Ignore List

Список исключений для размещения проекта.

Override Deployment Path

Удалить директорию размещения, если она существует.

URL GET Params

Здесь указываются дополнительные URL-параметры для ссылки на приложение, расположенной в интерфейсе менеджера проектов.

Изменённые параметры проекта сохраняются при помощи кнопки [Save Config], расположенной в нижней части страницы.

Импорт проектов

Средства импорта проектов вызываются по ссылке [Import Project(s)].

Нажатие на эту ссылку вызывает стандартный диалог открытия файла, где можно выбрать файл проекта, который требуется импортировать.

Экспорт проектов

Окно экспорта проекта вызывается по ссылке [Export Project(s)].

_images/project_manager_export.png

Команды

Back to Projects

Возвращает на главную страницу менеджера проектов.

Hide Stock Projects

Скрывает стоковые проекты. Если они уже скрыты, место этой команды занимает команда [Show Stock Projects].

Help

Вызывает справку.

Export Project(s)

Экспортировать выбранные проекты.

Параметры проекта

Select

Демонстрирует, выбран ли проект для экспорта.

Name

Имя каталога проекта.

Title

Заголовок проекта.

Author

Имя автора проекта.

Archive Name

Имя архива, в который будут запакованы экспортируемые проекты.

Размещение проекта

После завершения работы над проектом, выберите опцию deploy project на панели Operations, на главной странице менеджера проектов. После этого проект будет экспортирован и запакован в архив.

_images/project_manager_deploying.png

Этот архив затем может быть загружен при помощи кнопки Download и сохранён в папку, которую ваш браузер использует для хранения загруженных файлов. Следует заметить, что, в зависимости от размера архива, загрузка может быть достаточно долгой.

Чтобы разместить проект на веб-странице, распакуйте архив и загрузите файлы, находящиеся в нём на веб-сервер с помощью FTP, SSH или любого другого протокола, поддерживаемого сервером.

Примечание

После загрузки на веб-сервер должна сохраняться внутренняя структура файлов архива и их относительные пути.

После этого приложение типа Web Player HTML можно разместить на веб-странице с помощью контейнера iframe. Ниже приводится пример HTML-кода, который можно использовать для этого:

<!DOCTYPE html>
<html>
<head>
    <title>An Example Application</title>
</head>
<body>
    <iframe width="800" height="500" allowfullscreen src="/projects/myproject/myproject.html"></iframe>
</body>
</html>

Размещение JSON-проекта происходит почти так же, но вместо одного HTML-файла используется комбинация веб-плеера и JSON-файла, содержащего саму сцену.

<!DOCTYPE html>
<html>
<head>
    <title>Another Example Application</title>
</head>
<body>
    <iframe width="800" height="500" allowfullscreen src="/myproject/webplayer.html?load=/projects/myproject/myproject.json&show_fps"></iframe>
</body>
</html>

Расширенное управление проектами

Расширенное управление проектами используется опытными разработчикам, которым необходима как большая степень гибкости, так и возможность автоматизировать все рабочие процессы, связанные с разработкой приложений.

Для расширенного управления проектами следует использовать скрипт project.py и ручное редактирование конфигурационных файлов .b4w_project.

Скрипт project.py расположен в Blend4Web SDK в директории ./apps_dev/. Если при создании проекта была выбрана опция Copy Project Management Script, то в директории самого проекта будет находится копия этого скрипта.

Зависимости

Система управления проектами работает на всех операционных системах, однако для некоторых операций может потребоваться установка дополнительных зависимостей. Проверить, установлены ли необходимые зависимости, можно с помощью команды:

./project.py check_deps

Для пользователей ОС Windows:

python project.py check_deps

Для работы скрипта необходимо установить java и записать ее в переменную среды PATH.

Примечание

Java по умолчанию входит в Windows-версию SDK. Для Linux и macOS её требуется установить вручную.

При конверсии ресурсов также используется набор внешних приложений, описанных в соответствующем разделе.

Список проектов

Список всех проектов в SDK доступен посредством следующей команды:

python3 project.py -p myproject list

Структура проекта

Структура проекта, озаглавленного my_project и размещённого в директории ./projects (в корне директории SDK), выглядит следующим образом:

blend4web/
    projects/
        my_project/
            assets/
                my_project.json
                my_project.bin
            blender/
                my_project.blend
            build/
                my_project.html
                my_project.min.css
                my_project.min.js
            .b4w_project
            my_project.js
            my_project.css
            my_project.html

Как видно, это приложение состоит из 3 различных директорий:

  1. my_project/assets. Содержит медиафайлы (текстуры, звуки, а также .bin- и .json-файлы) сцен проекта.

  2. my_project/blender. Содержит .blend-файлы сцен проекта.

  3. my_project/build. Содержит файлы собранного приложения.

Файл проекта .b4w_project, а также .js-, .html`- и .css-файлы располагаются в корне каталога my_project/.

Кроме того, операция развёртывания (deploy) может создавать ещё одну директорию, однако она обычно располагается за пределами SDK и её название и расположение зависит от структуры директорий на конечном сервере.

Примечание

Начиная с версии 16.12, структура проекта переработана. Проекты, использующие старую структуру, по-прежнему работают, но считаются устаревшими. Рекомендуется обновить структуру таких проектов с помощью кнопки update file structure.

Эта кнопка находится на панели Operations в правой части таблицы свойств проекта в главном окне Менеджера проектов. Кнопка доступна только для пользовательских (не стоковых) проектов, использующих устаревшую структуру.

Конфигурационный файл проекта (.b4w_project)

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

Конфигурационный файл проекта можно редактировать вручную, но более удобным будет использование интерфейса редактирования проекта.

[info]
author = Blend4Web
name = my_project
title = MyProject
icon =

[paths]
assets_dirs = projects/my_project/assets;
blend_dirs = projects/my_project/blender;
blender_exec = blender
build_dir = projects/my_project/build
deploy_dir =

[compile]
apps =
css_ignore =
engine_type = external
ignore =
js_ignore =
optimization = simple
use_physics =

[deploy]
assets_path_dest = assets
assets_path_prefix = assets
ignore =
override =

Это стандартный конфигурационный INI-файл, состоящий из разделов, включающих параметры и их значения.

Раздел [info]

Содержит метаданные проекта:

author

Имя автора проекта или название компании-разработчика проекта.

name

Имя проекта

title

Название проекта. Это имя будет показываться в заголовке веб-браузера.

icon

Пиктограмма проекта.

Раздел [paths]

Содержи пути проекта:

assets_dirs

Каталоги, в которых располагаются медиаресурсы проекта.

blend_dirs

Каталоги, в которых располагаются blend-файлы проекта.

blender_exec

Путь к исполняемому файлу Blender.

build_dir

Каталог, содержащий скомпилированный проекта.

deploy_dir

Каталог развёртывания проекта.

Раздел [compile]

apps

Приложения проекта.

css_ignore

Список исключений для компиляции таблиц стилей проекта.

engine_type

Тип собираемого проекта.

ignore

Список исключений для сборок проекта.

js_ignore

Список исключений для компиляции JavaScript-файлов проекта.

optimization

Уровень оптимизации javascript.

use_physics

Указывает, использует ли проект физику. Использования физики включено по умолчанию.

use_smaa_textures

Указывает, использует ли проект текстуры SMMA. Не используется на данный момент.

version

Версия проекта.

Раздел [deploy]

assets_path_dest

Каталог, который будет содержать медиаресурсы размещённого проекта.

assets_path_prefix

URL-префикс пути к папке медиаресурсов размещённого проекта, возвращаемый функцией get_assets_path().

ignore

Список исключений для размещения проекта.

override

Заменить существующую директорию вывода при развёртывании. Использовать с осторожностью.

Раздел [url_params]

Необязательный раздел настроек проектов для Веб-плеера. Содержит URL-параметры, применяемые при запуске приложения.

Создание проекта

./project.py init my_project

Команда создает проект с указанной именем в текущей директории. По умолчанию в директории проекта будет находиться только конфигурационный файл.

Доступные опции:

  • -A | --copy-app-templates (необязательная) создает в директории проекта стандартные шаблоны приложения (<имя проекта>_dev.html, <имя проекта>.js, <имя проекта>.css).

  • -C | --author (необязательная) записывает в конфигурационный файл имя автора или компании.

  • -o | --optimization (необязательная) записывает в конфигурационный файл тип оптимизации скриптов.

  • -P | --copy-project-script (необязательная) создает скрипт project.py в директории проекта.

  • -S | --copy-scene-templates (необязательная) создает в директориях deploy/assets/<имя проекта> и blender/<имя проекта> (необязательная) стандартные шаблоны сцены (<имя проекта>.json/.bin и <имя проекта>.blend соответственно).

  • -T | --title (необязательная) записывает в конфигурационный файл заголовок проекта. При сборке он будет добавлен в html-тэг <title>.

  • -t | --engine-type (необязательная) записывает в конфигурационный файл тип собираемого приложения.

Пример:

./project.py init -AS -C Blend4Web -o simple -T MyProject -t external my_project

Эта команда создаст директорию my_project, внутри которой будут располагаться следующие файлы: my_project.js, my_project.css, my_project_dev.html и .b4w_project.

Файл .b4w_project будет выглядеть следующим образом:

[info]
author = Blend4Web
name = my_project
title = MyProject
icon =

[paths]
assets_dirs = projects/my_project/assets;
blend_dirs = projects/my_project/blender;
blender_exec = blender
build_dir = projects/my_project/build
deploy_dir =

[compile]
apps =
css_ignore =
engine_type = external
ignore =
js_ignore =
optimization = simple
use_physics =
use_smaa_textures =
version =

[deploy]
assets_path_dest = assets
assets_path_prefix = assets
ignore =
override =

Разработка нескольких приложений в составе проекта

В проекте может содержаться несколько приложений. Для этого необходимо в конфигурационном файле указать соответствующие HTML-файлы через точку с запятой:

...
[compile]
apps = myapp1;myapp2;
...

Если поле apps пусто, то каждый html файл из директории проекта будет считаться отдельным приложением.

Сборка проекта

python3 project.py -p my_project compile

Собирает проект в директории projects/my_project/build.

Доступные опции:

  • "-a | --app" (необязательная) указывает на HTML-файл, относительно которого будет собираться приложение для проекта.

  • "-c | --css-ignore" (необязательная) добавляет в исключения стили, которые не будут скомпилированы.

  • "-j | --js-ignore" (необязательная) добавляет в исключения скрипты, которые не будут скомпилированы.

  • "-o | --optimization" (необязательная) используется для указания метода оптимизации js-файлов. Доступные варианты: whitespace, simple (по умолчанию) и advanced.

  • "-v | --version" добавляет версию к адресам скриптов и стилей.

Требования, накладываемые компилятором:

  • В корне директории должен находится единственный html-файл, если не указана опция -a.

  • Скрипты и стили могут находиться как в корне проекта (приложения), так и во вложенных папках.

Автоматический экспорт blend-файлов

python3 project.py -p my_project reexport

Повторно экспортирует blend-файлы в форматах JSON и HTML.

Доступные опции:

  • "-b | --blender-exec" путь к исполняемому файлу blender.

  • "-s | --assets" определяет директорию с ресурсами сцены.

Конвертация ресурсов

python3 project.py -p my_project convert_resources

Конвертирует внешние ресурсы (текстуры, звуковые и видео-файлы) проекта в альтернативные форматы для обеспечения кроссбраузерности и кроссплатформенности.

Доступные опции:

  • "-s | --assets" определяет директорию с ресурсами сцены.

Более подробно о процессе конвертации ресурсов сказано в соответствующем разделе.

Развертывание проекта

python3 project.py -p my_project deploy DIRECTORY

Сохраняет проект во внешнюю директорию со всеми необходимыми зависимостями.

Доступные опции:

  • "-e | --assets-dest" задаёт директорию для файлов ресурсов (по умолчанию “assets”)

  • "-E | --assets-prefix" задаёт URL-префикс для файлов ресурсов (по умолчанию “assets”)

  • "-o | --override" удаляет директорию, если она существует.

  • "-s | --assets" записывает в конфигурационный файл путь к файлам ресурсов.

  • "-t | --engine-type" (необязательная) записывает в конфигурационный файл тип движка.

Удаление проекта

python3 project.py -p my_project remove

Удаляет проект. Удаляемые директории берутся из конфигурационного файла.

Обновление приложений на новые версии SDK

В процессе обновления на новые версии движка чаще всего возникает две проблемы:

  1. Несоответствие модулей новой и старой версии движка.

  2. Несоответствие старых и новых API движка.

Для того, чтобы обновить список модулей, подключаемых в необфусцированной версии приложений, необходимо перейти в директорию с исходными файлами приложений apps_dev/my_project. Затем необходимо вызвать скрипт, генерирующий пути к файлам движка:

python3 ../../scripts/mod_list.py

Для пользователей ОС Windows:

python ..\..\scripts\mod_list.py

Примечание

Стоит отдельно отметить, что для запуска скриптов требуется интерпретатор языка Python версии 3.x

В консоли появится список модулей, которые необходимо скопировать и вставить в главный HTML-файл:

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
    <script type="text/javascript" src="../../src/b4w.js"></script>
    <script type="text/javascript" src="../../src/anchors.js"></script>
    <script type="text/javascript" src="../../src/animation.js"></script>
    <script type="text/javascript" src="../../src/assets.js"></script>
    <script type="text/javascript" src="../../src/batch.js"></script>
    <script type="text/javascript" src="../../src/boundings.js"></script>
    <script type="text/javascript" src="../../src/camera.js"></script>
    . . .
</head>

Несоответствие API решается рефакторингом кода приложения. Все изменения подробно описываются в замечаниях к релизам.