简体   繁体   中英

Flash Player command line arguments to “Create Projector”

I am looking to automate the task of creating a .exe from .swf file using "Create Projector" option in flash player. I am trying to achieve it using an ant build file. Can someone point me to the right direction. Tried searching but didn't found what are the command line arguments which are available with flash player and how I can convert a .swf to .exe.

Note: Need to use on Flash Player as a runtime, no 3rd party players/solutions.

我不知道有什么方法可以做到这一点但是如果它有帮助,我想指出FlashDevelop能够挂钩到Adobe Flash Pro进行发布,但你必须在Flash Pro中打开FLA。

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 **

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);
                }
}

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM