Ещё раз об Android и расширениях для OpenFL

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

1. Одна простая, но неизвестная мне раньше вещь, то что для реакции на события типа onPause и onResume в Android в OpenFL удобнее всего использовать кросс-платформенные события Event.DEACTIVATE и Event.ACTIVATE соответственно. В iOS они должны отработать также.

2. Обмен данными с нативной частью. Как выяснилось, сейчас это стало делать гораздо проще. Очень помогает inthebox-macros - макрос позволяющий сильно упростить написание вызовов нативных методов из Haxe. Я правда взял пока вот этот его форк, из-за одной исправленной ошибки в нем.

3. Нужен новый функционал в нативной части - писать расширение необязательно. Писать расширения благодаря этому макросу стало тоже гораздо проще и приятнее, про это можно почитать здесь. Но если нужно быстро добавить функционал или что-то потестировать, совсем необязательно сразу выносить это в расширение. Очень удобно стало работать и с шаблоном MainActivity наследующим от GameActivity. Достаточно скопировать его основу из папки templates библиотеки lime в свою папку templates/android в проекте и добавить туда всё, что нужно. При этом в конфиг приложения сейчас достаточно добавить только <template path="templates" /> без всяких переназначений путей. А если нужно будет вызвать что-то там из Haxe-кода, можно пользовать тем же макросом, упомянутым выше.

Полезные ссылки по теме найденные по ходу: