2009-10-20 8 views
6

मैंने हाल ही में फ्लेक्सबिल्डर में एक गेम बनाना शुरू कर दिया है। खेल वर्तमान में एक फ्लेक्स परियोजना है।एक फ्लेक्स प्रोजेक्ट बनाम एक्शनस्क्रिप्ट प्रोजेक्ट के नुकसान?

क्या केवल एक्शनस्क्रिप्ट के विपरीत फ्लेक्स का उपयोग करने का कोई नकारात्मक पक्ष है?

एक दोस्त के एक दोस्त ने मुझे बताया कि फ्लेक्स एक्शनस्क्रिप्ट परियोजना से धीमा है। मैं इसे इंटरनेट पर मान्य करने में असमर्थ हूं; क्या उस दावे पर कोई सच है?

धन्यवाद!

उत्तर

17
  • यदि आप एक गेम विकसित कर रहे हैं, तो आपको एक एक्शनस्क्रिप्ट प्रोजेक्ट का उपयोग करना चाहिए। फ्लेक्स का उपयोग केवल डेटा संचालित अनुप्रयोगों और उपयोगकर्ता इंटरफेस के लिए किया जाना चाहिए।
  • फ्लेक्स कंपाइलर एमएक्सएमएल फाइलों को एक्शनस्क्रिप्ट में परिवर्तित करने के लिए बहुत से इंटरमीडिएट कोड उत्पन्न करता है (यदि आप -keep कंपाइलर विकल्प के साथ संकलित करते हैं तो आप उन फ़ाइलों को देख सकते हैं)। यह कोड, आपके एसडब्ल्यूएफ में शामिल फ्लेक्स फ्रेमवर्क, आकार में महत्वपूर्ण रूप से जोड़ता है।
  • टेक्स्टफील्ड ("हैलो वर्ल्ड") के साथ एक एक्शनस्क्रिप्ट प्रोजेक्ट बनाएं और एक टेक्स्ट के साथ एक टेक्स्ट के साथ एक फ्लेक्स प्रोजेक्ट बनाएं। उन्हें बनाएं, उनके बिन-डीबग फ़ोल्डर पर जाएं और फ़ाइल आकारों की तुलना करें। जबकि एक्शनस्क्रिप्ट केवल एक किलोबाइट्स है, फ्लेक्स एसएफएफ कम से कम 100 केबी होगा।
  • जहां तक ​​गति का सवाल है, चूंकि फ्लेक्स फ्रेमवर्क एक्शनस्क्रिप्ट के शीर्ष पर बैठा है, इसलिए जाहिर है कि इसका प्रदर्शन नकारात्मक होगा।
  • फ्लेक्स की सुंदरता यूआई घटकों को बनाने और डेटा संचालित अनुप्रयोगों को विकसित करने की आसानी से निहित है जो अक्सर सर्वर के साथ संचार करती है।
  • इसका उपयोग तब तक न करें जब तक कि आपको वास्तव में इसकी आवश्यकता न हो।
0

फ्लेक्स रिच इंटरनेट एप्लिकेशन बनाने के लिए एक ढांचा प्रदान करता है। यदि आपके गेम को एक जटिल जीयूआई (जैसे आरपीजी) की आवश्यकता है, तो यह उपयोगी हो सकता है। अन्यथा, यह परतों को जोड़ता है जो चीजों को जटिल बनाते हैं यदि आप जो करना चाहते हैं वह एक गेम बनाना है।

1

इंटरनेट पर आकार = गति डाउनलोड करें। जितना छोटा आप अपना खेल बना सकते हैं, तेज़ी से लोड हो जाएगा। आकार एक्शनस्क्रिप्ट जैसी व्याख्या की गई भाषा में भी गति के बराबर होता है, जहां कम कोड को निष्पादित करना होता है, तेज़ी से यह चल जाएगा। एक्शनस्क्रिप्ट दिनचर्या को हाथ-कोडिंग करने से आप फ्लेक्स के सामान्य दृष्टिकोण से इसे तेज कर सकते हैं।

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

अपने समय की लागत पर भी विचार करें। फ्लेक्स का उपयोग करके, आप अपने ऐप के उन हिस्सों के साथ तेजी से कार्य करेंगे यदि आप उन्हें एक्शनस्क्रिप्ट में हैंड-कोड करते हैं। जब तक आपका समय नि: शुल्क न हो, आपको इस बारे में सोचना चाहिए कि यह फ्लेक्स ओवरहेड की बैंडविड्थ लागत के खिलाफ कैसे ट्रेड करता है। यह हो सकता है कि बैंडविड्थ का भुगतान करने के लिए एक अधिक कुशल कार्यक्रम बनाने के लिए सस्ता है।

1

एक फ्लेक्स एप्लिकेशन पूरी तरह से लोड होने के बाद एक शुद्ध AS3 एप्लिकेशन की तुलना में धीमी गति से चलने वाला नहीं होगा - सब कुछ अंत में बाइटकोड में संकलित हो जाता है, और फ्लेक्स ऐप एक एएस 3 ऐप की तरह है जो अन्य कक्षाओं का बहुत उपयोग करता है।

फ्लेक्स फ्रेमवर्क को शॉर्टकट्स के सेट के रूप में सोचें जो आपको चीजों को और अधिक तेज़ी से करने की अनुमति देता है, लेकिन असली लागत यह है कि आपकी परियोजना बहुत अधिक कोड से भर जाती है - भले ही आप वास्तव में कम कोड लिख रहे हों , और आपको अतिरिक्त कोड कभी नहीं देखना होगा।

मैं इस धारणा से असहमत हूं कि फ्लेक्स को केवल जटिल डेटा-संचालित अनुप्रयोगों के लिए उपयोग किया जाना चाहिए, हालांकि यह निश्चित रूप से ऐसी परियोजनाओं के लिए बहुत उपयोगी है। आप इसे किसी भी चीज़ के लिए उपयोग कर सकते हैं, जब तक कि आप समझें कि अंतिम उत्पाद (.swf आप निर्यात करते हैं) यह अन्यथा होने की तुलना में बहुत बड़ा होगा।

यदि कोई बड़ा है। एसडब्ल्यूएफ आपके लिए इतना बड़ा सौदा नहीं है (और यह हो सकता है कि आप इसके साथ क्या कर रहे हैं) तो मैं कहूंगा कि फ्लेक्स को आज़माएं क्योंकि ऐरेकोलेक्शन, रिमोट ऑब्जेक्ट और डेटा बाध्यकारी आपको निराशा के घंटों और कोड की सैकड़ों लाइनों को बचाएगा।

हालांकि, यदि आप यह सुनिश्चित करना चाहते हैं कि आपका अंतिम ऐप जितना संभव हो उतना छोटा और कुशल हो, तो इसे शुद्ध AS3 में करें और आपको जितनी आवश्यकता हो उतनी उन्नत पुस्तकालयों में ऑप्ट-इन करें।

0

जैसा कि पहले बिंदु में कहा गया है कि केवल पेय ही स्मृति उपभोग है। लेकिन अगर आप शुद्ध एएस लिपि में लिखते हैं तो आपको समय सीमा के मुकाबले होने की जरूरत है। फ्लेक्स के रूप में कई अनुकूलन comps प्रदान करते हैं। यू मेमोरी को बचाने वाले एमएक्स कॉम्प की बजाय क्लास फाइलों का उपयोग कर सकता है। किसी भी घटक को तब तक न बनाएं जब तक इसका उपयोग नहीं किया जा रहा हो। मॉड्यूल और आरएसएल का उपयोग peretainity

2

यदि आप फ्लेक्स जानते हैं और यह आपको तेजी से विकास करने में मदद करता है - इसे फ्लेक्स में करें।

डाउनलोड आकार बहुत सारी संपत्तियों के साथ गेम के लिए कोई फर्क नहीं पड़ता। सबसे लोकप्रिय फ़्लैश गेम्स में 5 एमबी और अधिक का आकार होता है। (उदाहरण के लिए कॉंग्रेगेट पर)

गेम का महत्वपूर्ण हिस्सा आप शुद्ध क्रियालेख में बना सकते हैं। सैकड़ों UIComponents से कैनवास फ्लेक्स में धीमा नहीं हो सकता है, लेकिन फ्लेक्स रेंडरिंग तकनीक वस्तुओं की चिकनी एनीमेशन को रोकती है।

निष्कर्ष: फ्लेक्स तेजी से विकास के लिए है। आप मेनू के लिए यह आसान स्किनेबल घटकों का उपयोग कर सकते हैं। फ्लेक्स यूआई घटकों के बिना भी बाइंडिंग है और जीवन को आसान बनाता है।

संबंधित मुद्दे