2012-08-28 16 views
5

Szukam automatyzacji zadania tworzenia pliku .exe z pliku .swf przy użyciu opcji "Utwórz projektor" w odtwarzaczu Flash. Próbuję osiągnąć to przy użyciu pliku budowy ant. Czy ktoś może wskazać mi właściwy kierunek. Próbowałem wyszukiwać, ale nie znalazłem argumentów wiersza poleceń, które są dostępne w Flash Playerze i jak mogę przekonwertować plik .swf do .exe.Argumenty wiersza polecenia programu Flash Player do "Utwórz projektor"

Uwaga: Należy używać w programie Flash Player jako środowisku wykonawczym, bez odtwarzaczy/rozwiązań innych firm.

+0

Nie sądzę, że istnieje opcja wiersza poleceń do tworzenia projektora. Musi to być wykonane za pomocą Flash Professional. Polecam zajrzeć do tworzenia aplikacji Adobe AIR, która korzysta z funkcji Captive Runtime do utworzenia exe. Powinieneś być w stanie to zrobić za pomocą wiersza poleceń lub kompilacji ANT. – JeffryHouser

+0

@ www.Flextras.com Nie potrzebujesz programu Flash Professional do utworzenia pliku projektora. Jest to opcja menu w programie Flash Player, która umożliwia tworzenie natywnej aplikacji. Szukam argumentu wiersza poleceń do Flash Playera, który może pobrać plik .swf jako argument wiersza poleceń i wypisać plik .exe (w przypadku systemu Windows) lub plik .app (w przypadku systemu OSX). –

+0

Nie wiedziałem, że Adobe nadal dystrybuuje samodzielnego odtwarzacza. Niemniej jednak; Nie wierzę, że można to zrobić w linii poleceń. Ponownie sprawdzę moją sugestię, aby użyć środowiska Adobe AIR w/Captive Runtime. – JeffryHouser

Odpowiedz

-2
 
Note: The Askee did like the answer:

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

-1; ponieważ nie rozumiem, co polecasz w najmniejszym stopniu.Nie rozumiem twojego początkowego pytania. Nie jestem pewien, czy powiedziałbyś, że pochodzi z Adobe Flash. Nie jestem pewien, czy akronim ITASCA oznacza, ani co mówisz, jest przestarzałe. Nie jestem pewien, co powinien osiągnąć twój kod github; ale wszystko, co widzę w tym linku, to plik read me i plik licencji. Możesz rozważyć ponowną obróbkę tej odpowiedzi, aby była bardziej opisowa. – JeffryHouser

+0

Jako ten, który cię powalił; Chcę określić, że nie jestem oryginalnym pytającym. Niestety, nie rozumiem twojej zmodyfikowanej odpowiedzi lepiej niż twój oryginał, więc nie chcę zlikwidować mojego wniosku. – JeffryHouser

+1

Czy możesz zaktualizować swój link do github, nie widzę tam żadnych plików. Czy mógłbyś także wspomnieć o krokach, jak go uruchomić? –

0

ja nie znam żadnego sposobu, aby to zrobić, ale w przypadku pomaga, chciałem pO że FlashDevelop jest w stanie podłączyć się do Adobe Flash Pro w celu opublikowania, ale musisz mieć otwarty FLA w Flash Pro.

Powiązane problemy