добавление fla-файла из перенесенного flash-проекта в haxe (openfl)

Я хочу преобразовать проект flash в проект openfl (который написан на haxe), чтобы использовать его кроссплатформенную функцию. Я использовал as3hx для преобразования классов ActionScript проекта flash в haxe. Затем я вручную исправляю ошибки компиляции, а также исправляю ошибку времени выполнения. Когда я компилирую проект, я вижу пустое черное окно, что означает, что графика не загружена. Я конвертирую код, и код работает нормально, но я не знаю, что мне делать с графикой. Во флэш-проекте есть файл fla, и я не знаю, как его преобразовать в openfl.

Adobe Flash CC, программа, используемая для написания флеш-проекта, связывает символ с классом ActionScript, и я не знаю, как это сделать в openfl.

В openfl, насколько мне известно, передача графики классу выполняется следующим образом:

import openfl.display.Bitmap;
import openfl.display.BitmapData;
import openfl.display.Sprite;
import openfl.Assets;

class Main extends Sprite {

    public function new () {

        super ();
        var bd:BitmapData = Assets.getBitmapData("img/openfl.png");
        var b:Bitmap = new Bitmap(bd);
        addChild(b);    
    
    }

}

Где openfl.png - это графический файл в специальной папке с именем img, которая объявлена ​​как путь к ресурсам.


Я использую среду IDE HaxeDevelop.

Спасибо за любую помощь


person Ali Bahrami    schedule 14.07.2016    source источник
comment
Просто скачайте пробную версию Flash, откройте FLA, извлеките то, что вам нужно (изображения из библиотеки, или экспортируйте кадры анимации как собственный SWF). Когда у вас есть графика (jpg / png / animated swf), вы как обычно загружаете их в свой haxe-код.   -  person VC.One    schedule 14.07.2016


Ответы (1)


Вы не можете использовать FLA-файлы внутри OpenFL, есть поддержка только для SWF-файлов, экспортированных Flash из этих FLA-файлов:

http://www.openfl.org/learn/tutorials/using-swf-assets/

«Родные» функции воспроизведения SWF в OpenFL ограничены, но для простой графики и анимации их можно использовать, если вы выясните, какие функции фактически поддерживаются, и ограничитесь ими.

person Malte Köhrer    schedule 14.07.2016
comment
Поскольку вы не предоставили никаких подробностей о том, что вы сделали, я ничего не могу с этим поделать. Может быть, вы можете попробовать собрать официальный пример openfl swf, чтобы посмотреть, работает ли он в целом? github.com/openfl/openfl-samples/tree/master/ библиотеки / swf / - person Malte Köhrer; 14.07.2016