2012-08-28 17 views
5

Flash player'da "Create Projector" seçeneğini kullanarak .swf dosyasından bir .exe oluşturma görevini otomatikleştirmek istiyorum. Bir ant yapı dosyası kullanarak bunu başarmaya çalışıyorum. Birisi beni doğru yöne yönlendirebilir. Aramayı denedi, ancak flash player ile kullanılabilen komut satırı argümanlarının ne olduğunu ve bir .swf dosyasını .exe'e nasıl dönüştürebildiğimi bulamadı.Flash Player komut satırı argümanları "Projektör Oluştur" a

Not: Flash Player'da çalışma zamanı olarak kullanmanız gerekmez, üçüncü taraf oynatıcılar/çözümler yoktur.

+0

Projektör oluşturmak için bir komut satırı seçeneği olduğunu düşünmüyorum. Flash Professional ile yapılmalıdır. Bir exe oluşturmak için Captive Runtime özelliğini kullanan bir Adobe AIR uygulaması oluşturmayı düşünmenizi öneririm. Komut satırı veya bir ANT yapısı ile taht yapabilmeniz gerekir. – JeffryHouser

+0

@ www.Flextras.com Projektör dosyası oluşturmak için Flash Professional'a ihtiyacınız yoktur. Yerel bir uygulama oluşturmanıza olanak veren Flash Player'daki bir menü seçeneğidir. Ben bir komut satırı argüman olarak bir .swf dosyasını alabilir ve bir .exe dosyası (windows durumunda) veya bir .app dosyası (OSX durumunda) çıktı alabilirsiniz, flash player için bir komut satırı argüman arıyorum. –

+0

Adobe'nin hala bağımsız oyuncuyu dağıtdığını bilmiyordum. Yine; Bunun komut satırında yapılabileceğine inanmıyorum. Adobe AIR w/Captive Runtime uygulamasını kullanma önerimi yeniden yazacağım. – JeffryHouser

cevap

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

Ben herhangi bir şekilde bilmiyorum

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; çünkü en ufak bir şeyi ne tavsiye ettiğini anlamıyorum.Açılış sorusunu anlamıyorum. Adobe Flash'a yerli olduğunu söyleyeceğinizden emin değilim. ITASCA kısaltmasının ne demek olduğunu ve ne söylediğinizi benimsemediğinden emin değilim. Github kodunun ne yapması gerektiğinden emin değilim; Ama bu bağlantıda gördüğüm tek şey bir okuma dosyası ve bir lisans dosyası. Bu cevabı daha açıklayıcı yapmak için yeniden çalışmayı düşünebilirsiniz. – JeffryHouser

+0

Seni aşağılayan kişi olarak; Ben belirtmek istiyorum ben orijinal askee değilim. Ne yazık ki, değiştirilmiş cevabınızı orijinalinizden daha iyi anlayamıyorum, bu yüzden reddetmemizi istemiyorum. – JeffryHouser

+1

Github bağlantınızı günceller misiniz, herhangi bir dosya göremiyorum. Ayrıca, nasıl çalıştırılacağına dair adımları söyleyebilir misiniz? –

0

bunu yapmak ama işe yarıyor durumda, ben po istedi FlashDevelop’un yayınlamak için Adobe Flash Pro’ya bağlanabildiğini, ancak FLA’nın Flash Pro’da açık olması gerekir.

İlgili konular