Портируя одну библиотеку с AS3 на haXe, пришел к выводу, что в последнем вместо класса flash.utils.Dictionary стоит использовать flash.utils.TypedDictionary, в первую очередь из-за того, что в haXe только типизированный словарь реализует Iterator, т.е. его элементы можно перебрать в цикле типа for (i in dict).
Иногда бывает удобно использовать listener слушающий события клавиатуры глобально, т.е. во всём приложении (например при создании flash игр). В flash8 с этим не возникает особых проблем, но в flash9 есть баг, в результате которого при удалении со сцены объекта, на котором был фокус, события клавиатуры перестают отлавливаться и сценой в целом, так как фокус в таком случае теряет и stage.
Иногда может помочь простой принудительный возврат фокуса объекту stage:
stage.focus = stage;
Начал делать SWHX проект и узнал, что в Neko на данный момент отсутствует поддержка класса haxe.Timer. Точнее поддерживается только один статический его метод Timer.stamp(). Это было несколько неожиданно.
Погуглив немного, узнал что для Neko вместо него используется neko.Sys.sleep(seconds :Float);
Это сняло часть вопросов, но не все. Этому решению в некоторых случаях не хватает гибкости Timer.
В рассылке нашёл более развернутый вариант реализации таймеров в Neko, который после небольшой доработки под текущую версию, превратился у меня вот в такую функцию:
В качестве ещё одного сниппета не могу не рассказать и о callback.
Тем, кто только начинает знакомиться с haXe, это весьма полезное предложение может быть и не знакомо, т.к. до недавнего времени не упоминалось в документации.
Да и сейчас добраться до него не просто. Так что линк на статью про reserved keywords в главе мануала о классах будет уместен. В статье описывается сам принцип работы callback. Переведу самое основное...