2008-11-04 13 views
9

हमारी परियोजना में हमारे पास सीएस 3 में कलाकारों द्वारा बनाई गई बड़ी संख्या में एफएलए फाइलें हैं, जिनमें से हम अपने फ्लेक्स/एएस 3 एप्लिकेशन में एसडब्ल्यूएफ का उपयोग करने के लिए संकलित करते हैं।क्या कमांड लाइन से एफएलए प्रकाशित करना संभव है?

सुव्यवस्थित बिल्ड/तैनाती प्रणाली के हिस्से के रूप में, यह वास्तव में आसान होगा कि इन सभी एफएलए को प्रकाशित करने में सक्षम हो और आदर्श रूप से एसडब्ल्यूएफ को तैनात कर सकें। मुझे जेएसएफएल का उपयोग कर सीएस 3 से बैच प्रकाशन करने के कुछ तरीके मिले, लेकिन सीएस 3 को खोजने में आश्चर्य हुआ कि इसके लिए कोई कमांड लाइन कार्यक्षमता नहीं है?

यह लिनक्स सिस्टम पर है जो इसके लायक है, मुझे जेएसएफएल के साथ अनुभव नहीं है यह जानने के लिए कि क्या आप किसी भी तरह कमांड लाइन से स्क्रिप्ट चला सकते हैं?

नोट: मुझे यह कहना चाहिए था कि "लिनक्स को प्राथमिकता दी गई है" ... मैं लिनक्स का उपयोग नहीं करता हूं लेकिन हमारा सर्वर/बिल्ड पीसी लिनक्स है ... मुझे नहीं पता था कि सीएस 3 संगत नहीं था इसलिए मुझे लगता है कि हम विंडोज़ पर यह हिस्सा कर सकते हैं।

उत्तर

2

आप लिनक्स पर फ्लैश सीएस 3 कैसे चला रहे हैं? आप कमांड लाइन से JSFL नहीं चला लेकिन एक FLA फ़ाइल संकलन माइक मंडलों से संभव

कुछ पुराने उदाहरण http://www.mikechambers.com/blog/2003/11/01/flashcommand-flash-2004-command-line-compiler/

नए सामान होना चाहिए OSX के लिए

http://code.google.com/p/flashcommand/

तो यह निश्चित रूप से संभव है कर सकते हैं केवल अर्ध के माध्यम से लगता है स्वचालित आईडीई प्रकाशन,

बहुत खराब फ्लेक्स कंपाइलर ऐसी चीज में सक्षम नहीं है, साथ ही एएनटी कार्यों के साथ यह एक हत्यारा है ... एफडीटी संपादक टी के साथ

विंडोज पर

: "c:\program files\macromedia\flash 8\flash.exe" myscript.jsfl

मैक पर

: open myscript.jsfl

मेरा मानना ​​है कि फ्लैश के पुराने संस्करणों पर भाग गया hings बहुत अच्छा और

8

कमांड लाइन सिर्फ इस तरह से अपने JSFL स्क्रिप्ट निष्पादित स्वचालित हैं शराब कोई समस्या नहीं है लेकिन सीएस 3 के बारे में निश्चित नहीं है।

स्थानीय फ़ाइलों का एक बैच से अधिक पुनरावृति करने के लिए, कुछ इस तरह (JSFL में) की कोशिश:

var importFolder = fl.browseForFolderURL('Select a folder with existing FLA files'); 
var importFolderContents = FLfile.listFolder(importFolder); 
for (i = 0; i <importFolderContents.length; i++) { 
    file = importFolderContents[i]; 
    fl.openDocument(file); // and so on 
} 

और कुछ अन्य तरीकों आप शायद जांच करने के लिए चाहता हूँ कर रहे हैं ..

fl.getDocumentDOM() document.exportSWF() document.publish() fl.closeDocument()

0

हाँ, बिल्कुल। असल में, मैंने एक एंड-टू-एंड समाधान बनाया है, जो एक बटन के क्लिक पर, क्लास फाइलों को वर्जन टाइम स्टैम्प के साथ अपडेट करेगा, फ्लैश खोलें अगर यह पहले से खुला नहीं है, प्रकाशन के लिए अलग-अलग फाइलें खोलें, सिग्नल करें इंटर-प्रोसेस-संचार के माध्यम से ऑटोमेशन प्रोग्राम जब प्रत्येक फ़ाइल ने प्रकाशन पूरा कर लिया है, तो आप किसी भी समय के मुद्दों में भाग नहीं लेते हैं, और पूरा होने पर वेब पर विशिष्ट फ़ाइलों को तैनात करते हैं (स्वचालित रूप से उन्हें बैक अप लेने और फ़ाइल नामों को टाइमस्टैम्प करने के बाद), और पूरी प्रक्रिया 10 सेकंड के भीतर पूरा हो जाता है।

मेरी क्यू यहाँ & एक देखें: Automating publishing of FLA files; calling Process.Start multiple times

0

की तरह यह पहले से ही कहा गया था, यह JSFL स्क्रिप्ट के साथ ऐसा करना संभव है, हालांकि आप अभी भी कमांड लाइन उपकरण है जो साथ एडोब फ्लैश व्यावसायिक संचार प्रक्रिया लॉग इन करने की जरूरत है संकलन परिणाम के आधार पर stdout और आपूर्ति निकास कोड में।

मैंने इस उपकरण को स्वयं https://www.npmjs.com/package/flc लिखना समाप्त कर दिया। यह मूल रूप से एक कमांड लाइन इंटरफेस है जो एडोब फ्लैश प्रोफेशनल को दूर करता है। फ्लैश प्रो 2014 और 2015 के खिलाफ परीक्षण किया गया।