AS3

JetBrains Astella IDE и haXe

Вот здесь можно проголосовать за внедрение haXe - плагина в Astella. Собственно уже появилась информация, что разработка плагина будет продолжена. Начал его создание Федор Коротков ( https://github.com/fkorotkov/haXe-plugin ), за что ему большое хаксерское спасибо.)

Для тех, кто не в курсе: Astella это новая IDE от компании JetBrains, уже широко известной по IntelliJ IDEA и ряду других качественных продуктов.
Собственно, Astella, это "дочка" IDEA, предназначенная для разработки приложений на ActionScript, Flex, AIR и HTML5.
Очень рекомендую попробовать ее уже сейчас всем, кто пишет на AS3, тем более пока идет Early Access период, она бесплатна.
Скачать версию Astella для вашей OS.

Импорт/перемалывание swf

Здравствуйте.

Проблема такая: делал интерактивное приложение(игру) на Haxe, компилировал в swf:
"haxe -swf9 game.swf -main Main -swf-header 300:500:25 -swf-lib resource.swf"

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

Вопрос: можно ли перемолоть эту swf обратно в haxe код? если да то как? или хотя бы в as3...
"haxe --gen-hx-classes" - не предлагать, ибо нужно вносить изменения во внутренности классов.

не работает rotationX,Y,Z

код АС3 работает, а haXe нет(не вращается box) ((((

в чем грабли?

не флешере не ответили :(

АС3 - работает, крутится, все гуд:

package
{
        import flash.display.MovieClip;
        import flash.display.Sprite;
        import flash.events.Event;
 
        public class Main extends Sprite
        {
                private var box:MovieClip;
 
                private function draw():void {
 
                        with (box.graphics) {
                                beginFill(0xffff00);
                                lineStyle(3, 0x000000, 1);
                                drawRect( -100, -100, 200, 200);
                                endFill();
                        }
                }
 
                private function RotateBox(e:Event):void {
                        box.rotationX++;
                        box.rotationY++;
                        box.rotationZ++;
                }
 
                public function Main():void
                {
                        if (stage) init();
                        else addEventListener(Event.ADDED_TO_STAGE, init);
                }
 
                private function init(e:Event = null):void
                {
                        removeEventListener(Event.ADDED_TO_STAGE, init);
                        // entry point
                        box = new MovieClip();
                        draw();

TypedDictionary вместо Dictionary

Портируя одну библиотеку с AS3 на haXe, пришел к выводу, что в последнем вместо класса flash.utils.Dictionary стоит использовать flash.utils.TypedDictionary, в первую очередь из-за того, что в haXe только типизированный словарь реализует Iterator, т.е. его элементы можно перебрать в цикле типа for (i in dict).

Nape - новая 2D физика на haXe (+AS3 версия)

У Physaxe появился интересный и многообещающий продолжатель.
В Nape - в новом и на момент активно развиваемом движке двумерной физики уже присутствует поддержка joints /constraints и немало других интересных фич, делающих его более продвинутым по сравнению с Physaxe, развитие которого остановилось довольно давно. При этом Nape унаследовал его производительность и по утверждением автора Luca Deltodesco превосходит его и в этом плане
Новый 2D движок активно использует haXe/AS3 препроцессор caxe написанный тем же автором и оптимизирован под возможности flash player 10/10.1 Кстати, в недавней заметке Luca написал, что в beta5 flash player 10.1 производительность и стабильность Nape ещё более заметно.

UI компоненты BIT-101 minimal в haXe

Просто небольшая полезная инфа по использованию AS3 библиотеки компонентов BIT-101 MinimalComps от Keith Peters в haXe.
Делать для этой возможности, оказывается, почти ничего не нужно. Достаточно скачать архив с компонентами, разархивировать swc файл и запустить haxe --gen-hx-classes на полученном файле библиотеки library.swf.

Всё. После этого можно, как обычно, добавлять библиотеку к проекту с помощью -swf-lib, добавлять папку со сгенерированными haxe классами в class path -cp и пользоваться этим набором UI компонентов в своём flash приложении написанном на haXe.

RSS-материал