5

Flash Player の [Create Projector] オプションを使用して、.swf ファイルから .exe を作成するタスクを自動化しようとしています。Antビルドファイルを使用してそれを達成しようとしています。誰かが私を正しい方向に向けることができますか?検索を試みましたが、フラッシュ プレーヤーで使用できるコマンド ライン引数と、.swf を .exe に変換する方法が見つかりませんでした。

注: ランタイムとして Flash Player を使用する必要があります。サードパーティのプレーヤー/ソリューションは必要ありません。

4

2 に答える 2

0

これを行う方法はわかりませんが、役立つ場合に備えて、FlashDevelop は Adob​​e Flash Pro に接続して発行できることを指摘したいと思いますが、FLA を Flash Pro で開いておく必要があります。

于 2015-12-29T20:23:37.847 に答える
-2
注: 質問者は答えが気に入りました:

SWF's as SWF's for EXE's.? I would say that is native to Adobe Flash, plus there has always been ANT 'Build Commands' -- as well as -- ITASCA in use for these processes (now deprecated). The main positive outcome for your situation is that I already had code that I used for something similar, so I added it to github - Take a look, it is very straightforward with comments and instructions: Note, the Application Manifest files along with custom **bat** files allow the /exe files to be generated from your action-script within **Main.as and application.xmL https://github.com/leonardo-m-mendevil/esexes.git **

  • @オリジナル:SACKS、S
  • @notes:AS2 および AS3 準拠、
  • @notes:足場フレームワークに基づく
  • @github: https://github.com/stevensacks/Gaia-Framework/wiki/_history
  • @notation: Using JSFL: original: Change Publish Profile Settings: v2: SACKS: MARCH 26, 2008 //
  • @作者: エディ・マルティネス
  • @update: .exe/projector の生成
  • @using: .as3 || .swf ファイルローダー || .jsfl
  • @改訂: 2013 年 7 月
  • @info: これはわずかな変更です
  • @info: Gaia の JSFL scaffolding に由来する改変 [Gaia's scaffolding JSFL]
  • @framework: https://github.com/stevensacks/Gaia-Framework/wiki/_history

function setPPS(F1, ActionVersion)
{

        if (fl.fileExists(F1)
        {
                var _x, _f, _t, _d;

                fl.openDocument(F1);
                var file_n = F1.split("/").pop();
                var path_f = F1.split(file_n)[0].join("/");
                    file_n = file_n.split(".")[0];
                var pt = path_f + "/_Profile_._x";
                fl.getDocumentDOM().exportPublishProfile(pt);
                _x = FLfile.read(pt);
                _f = _x.indexOf("<defaultNames>");
                _t = _x.indexOf("</defaultNames>");
                _d = _x.substring(_f, _t);
                _x = _x.split(_d).join("<defaultNames>0");
                _f = _x.indexOf("<flashDefaultName>");
                _t = _x.indexOf("</flashDefaultName>");
                _d = _x.substring(_f, _t);
                _x = _x.split(_d).join("<flashDefaultName>0");
                _f = _x.indexOf("<flashfile_n>");
                _t = _x.indexOf("</flashfile_n>");
                _d = _x.substring(_f, _t);

                var p3i = "../";
                if (file_n.indexOf("/") > -1){
                  var splitPath = file_n.split("/");
                      splitPath.length--;
                  var i = splitPath.length;
                  while (i--) {  p3i += "../"; }
                }
                _x = _x.split(_d).join("<flashfile_n>" + p3i + "deploy/" + file_n + ".swf");
                var types = {};
                    types.projectorWinfile_n = "exe";
                    for (var n in types) {
                        _f = _x.indexOf("<" + n + ">");
                        _t = _x.indexOf("</" + n + ">");
                        _d = _x.substring(_f, _t);
                        _x = _x.split(_d).join("<" + n + ">" + file_n + "." + types[n]);
                    }

                    _f = _x.indexOf("<ActionScriptVersion>");
                    _t = _x.indexOf("</ActionScriptVersion>");
                    _d = _x.substring(_f, _t);
                    _x = _x.split(_d).join("<ActionScriptVersion>" + ActionVersion);
                    _f = _x.indexOf("<PackageExportFrame>");
                    _t = _x.indexOf("</PackageExportFrame>");
                    _d = _x.substring(_f, _t);
                    _x = _x.split(_d).join("<PackageExportFrame>1");

                    if (ActionVersion == 2) {
                        _f = _x.indexOf("<PackagePaths>");
                        _t = _x.indexOf("</PackagePaths>");
                    } else {
                        _f = _x.indexOf("<AS3PackagePaths>");
                        _t = _x.indexOf("</AS3PackagePaths>");
                    }
                    _d = _x.substring(_f, _t);
                    var cpt = "./";
                    if (file_n.indexOf("/") > -1){
                        cpt = "";
                        var t4 = file_n.split("/");
                            t4.length--;
                        var i = t4.length;
                        while (i--){
                            cpt += "../";
                        }
                    }
                    switch(ActionVersion){
                        case 2:                        
                            _x = _x.split(_d).join("<PackagePaths>" + cpt + "classes");
                        break;
                        case 3:
                            _x = _x.split(_d).join("<AS3PackagePaths>" + cpt + "classes");  
                    }
                    function writeAllDOM(xstrg,pt){
                        FLfile.write(pt, xstrg);
                        fl.getDocumentDOM().importPublishProfile(pt);
                        fl.saveDocument(fl.getDocumentDOM(), cpt);
                        fl.getDocumentDOM().publish();
                    }

                    FLfile.remove(fPath);
                }
}
于 2013-07-19T00:03:44.483 に答える