एडोब फोटोशॉप फ़ाइलों के आधार पर एडोब फ्लैश के लिए अर्ध-स्वचालित निर्माण

जैसा कि कई फ़्लैशर्स (और न केवल) जानते हैं, पीएनजी संसाधनों के आधार पर एक सरल रूप बनाना, सिद्धांत रूप में, मुश्किल नहीं है, लेकिन क्या होगा अगर ये रूप लगातार बारिश के बाद मशरूम की तरह बदल रहे हैं, सही कर रहे हैं और गुणा कर रहे हैं?
क्या करें?

और हम ऐसा करेंगे।
हम psd फ़ाइल को एक इंटरैक्टिव रूप में बदल देंगे जिसके साथ आप पहले से ही बहुत पारदर्शी तरीके से काम कर सकते हैं और निर्देशांक और अन्य डिजाइन चीजों के बारे में नहीं सोच सकते हैं।

कार्यक्रमों का इस्तेमाल किया




विचार


मुख्य विचार नया नहीं है और यहां उदाहरण के लिए कवर किया गया था:
फ़ोटोशॉप से ​​उपयोगकर्ता इंटरफ़ेस निर्यात करें
मैं इसे लगभग स्वचालित रूप से परिणाम प्राप्त करने के लिए विस्तारित करता हूं।
एल्गोरिथ्म इस प्रकार है:


अधिक जानकारी


फ़ोटोशॉप। नामकरण और संरचना की परतों के लिए नियम।

सामान्यतया, हम .PSD फ़ाइल को पार्स करते समय काफी कुछ कर सकते हैं, उदाहरण के लिए, शुरुआत में रिक्त स्थान और परत नाम के अंत में, परत नाम में स्थान, परत नाम में सिरिलिक, आदि।
अब मैं केवल नियमों के बारे में बात कर रहा हूं, जिसके बाद हमें न्यूनतम कार्यक्षमता वाला एक फॉर्म मिलेगा।
हम इस फॉर्म को करेंगे:
डिज़ाइन
समूहों

चलो ऊपर से शुरू करते हैं:



कृपया ध्यान दें कि मार्कर स्वयं अनलोड नहीं किए जा सकते हैं, क्योंकि उनके बारे में डेटा .XML में है, हालांकि अब मैं उन्हें अपलोड करता हूं।



कृपया ध्यान दें कि क्रमशः दो रेडियोबटन और बटन के लिए राज्यों का एक ही नाम है, और सेट स्वयं अलग हैं। इसका मतलब है कि उतारने के दौरान, हमें एक्सएमएल फॉर्म में क्रमशः 2 रेडियोबटन और बटन मिलते हैं, लेकिन उनके लिए संसाधन एक ही कॉपी में होंगे, जो महत्वपूर्ण है!

बाकी सब कुछ आप की तरह कहा जा सकता है, लेकिन इसे किसी भी तरह से सुलझाना बेहतर है, इसलिए मैं उन्हें 'सजावट_ + कुछ भी' कहता हूं

यह मूल रूप से सभी नियमों द्वारा है।

अजगर। .XML और .PNG पर अपलोड करें

अजगर क्यों? क्योंकि जो कुछ भी स्वचालित हो सकता है, उस पर किया जाता है। मैंने जिम्प + पाइथन का उपयोग नहीं किया, क्योंकि जिम्प फ़ोल्डर्स (सेट) का समर्थन नहीं करता है, और उनमें, इसलिए बोलने के लिए, सभी नमक। मैंने javaScript का उपयोग नहीं किया, अपने दम से, बल्कि भारी तर्कपूर्ण विचार (लेकिन इसे गति के कारण कहा जा सकता है)। अंत में, मैं COM तकनीक पर बस गया। स्रोत में विवरण संक्षेप में, यह पता चला कि इस तथ्य के कारण कि फ़ोटोशॉप के जीयूआई को अपडेट किया जाता है जब इसकी स्क्रिप्ट काम कर रही होती है, और COM के माध्यम से, आप बस फ़ोटोशॉप को छिपा सकते हैं और फिर गति काफ़ी बढ़ जाती है।

JSFL। यह सब पैकिंग में .SWC

एक सरल JSFL स्क्रिप्ट का उपयोग करते हुए, मैं सभी .PNGs को हमारे लिए सुविधाजनक .SWC में पैक करता हूं
हम पुस्तकालय को परियोजना से जोड़ते हैं, पुस्तकालय की संपत्तियों में 'लाइब्रेरी को शामिल करें' निश्चित करें।

SWF। प्रपत्र लोड हो रहा है

फॉर्म प्रदर्शित करने के लिए तीन वर्गों का उपयोग किया जाता है।
  1. फॉर्म.स - फॉर्म खुद
  2. InteractiveContainer.as - एक संवादात्मक कंटेनर जो एक परत के नाम को पार्स करता है और एक संगत, संवादात्मक या नहीं-तो, तत्व बनाता है
  3. ResourceLoaderFromForm.as - लाइब्रेरी से ग्राफिक्स का लोडर या, एक विकल्प के रूप में, URL द्वारा


बैट। स्वचालित

एक फ़ाइल बनाएँ, उदाहरण के लिए, psd_parser_habr.bat
इसे लिखें
@echo off
cls
python D:\main\FlashDevelop\habraForm\python\psd_parser.py %1
D:\main\FlashDevelop\habraForm\python\export_in_swc.jsfl


हमने इसे एक सुरक्षित जगह पर रखा। .Psd फ़ाइलों के लिए एक और "ओपन विथ" लिंक बनाएँ और प्रोग्राम को खोलने के लिए psd_parser_habr.bat निर्दिष्ट करें। अब आप किसी भी .PSD फाइल को इस बैच फाइल के साथ खोल सकते हैं और इस से .WW.XML के रूप में संसाधन प्राप्त कर सकते हैं।

मैंने यहां कोई कोड नहीं दिया, इस तथ्य के कारण कि यह परियोजना में है, कई बारीकियां हैं, लेकिन वे भी परियोजना में चित्रित हैं।
जो लोग खुद को लिखने के लिए बहुत आलसी हैं, वे स्रोत से कोड ले सकते हैं, दूसरों के लिए, पर्याप्त विचार।

आप अभी भी इस विषय पर बहुत बहस कर सकते हैं, कोड की आलोचना कर सकते हैं, और दृष्टिकोण, इस सभी चिड़ियाघर और अन्य और अन्य की सेटिंग्स को 'केंद्रीकृत' कर सकते हैं। और यह सुनिश्चित करने के लिए कि यह ऐसा होगा, लेकिन इस नोट का उद्देश्य केवल यह दिखाना है कि कैसे कम से कम साधनों के साथ, अपने आप को प्राप्त करने के लिए, एक अच्छा परिणाम।

बस इतना ही। परिणाम।


Google डॉक्स से FD4 पर प्रोजेक्ट डाउनलोड करें
युपीडी। बारीकियों से बचने के लिए, संशोधित कला।

Source: https://habr.com/ru/post/In138559/


All Articles