Download - Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe
![Page 1: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/1.jpg)
![Page 2: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/2.jpg)
Создание кроссплатформенного
игрового приложения на Haxe
![Page 3: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/3.jpg)
Причина выбора Haxe
● Google объявил о блокировании Flash-
контента по-умолчанию
● Firefox хочет поступить аналогично
● HTML5 Canvas игры получают
преимущество
![Page 4: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/4.jpg)
Причина выбора Haxe
Javascript-библиотеки Платформы для разработки игр Haxe
![Page 5: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/5.jpg)
Причина выбора Haxe
● Haxe - это высокоуровневый
мультиплатформенный язык программирования и
компилятор.
● Возможность быстрого портирования ActionScript
приложения на Haxe.
● Программа на Haxe может быть транслирована в
исходный код и в байт-код целевой платформы.
● Вывод в :
○ Javascript
○ ActionScript
○ PHP
○ C++
![Page 6: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/6.jpg)
Выбор фреймворка для Haxe
Flambe
Функционал фреймворков:
1. Работа с ресурсами приложения (загрузка и выгрузка)
2. Воспроизведение звука
3. Вывод на экран
4. Работа с областью вывода
5. Работа с инструментами ввода. События мыши, клавиатуры
6. Дополнительные утилиты
![Page 7: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/7.jpg)
Работа с библиотеками для Haxe
1 206 библиотек на официальном сайте
Источник для библиотеки:● Git-репозиторий
● mercurial-репозиторий
● zip-архив
● локальная папка
3 360 репозиториев на GitHub
![Page 8: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/8.jpg)
XML-файл описания проекта на OpenFL
Настройка приложения:
1. Задать имя приложения, версию и компанию-разработчика
2. Указать директорию для вывода проекта
3. Установить свой загрузчик приложения
4. Подключить к проекту haxe-библиотеки, установленные через haxelib
5. Перечислить загружаемые ресурсы
6. Указать флаги для компиляции
7. Настроить параметры сборки мобильного приложения
Использование директив условной компиляции:
mobile, desktop, web
ios, android, windows, mac, linux, html5
cpp, neko, flash, js
![Page 9: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/9.jpg)
Организация ресурсов и загрузчика
● Ресурсы для каждой платформы
хранятся отдельно.
● Ресурсы, используемые для всех
платформ, выделяются в отдельную
структуру.● При компиляции общие ресурсы и ресурсы
платформы объединяются.
![Page 10: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/10.jpg)
Разработка системы соединения с сервером
Принципы работы с очередью:
1. Каждая команда пронумерована
2. Структура команды описана стандартом протокола JSON-RPC 2.0
3. Пакет команд отправляется:
● По требованию приложения
● Каждые T-секунд
● По накоплению N-команд
1. Очередь синхронизирована с локальным хранилищем
![Page 11: Сергей Мезенев, Broccoli Games — Создание кроссплатформенного игрового приложения на Haxe](https://reader036.vdocuments.pub/reader036/viewer/2022081812/5aac5bf77f8b9a435e8b4887/html5/thumbnails/11.jpg)