2010-10-06 8 views
7

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

हालांकि, इन सभी फ़ाइलों में हाथ से वाक्यविन्यास को दोबारा बनाने का विचार कोई भी आकर्षक नहीं है। क्या ऐसे उपकरण हैं जो इस प्रक्रिया को तेज करने में मेरी मदद कर सकते हैं?

मैं यहां एक जादुई उपकरण की तलाश नहीं कर रहा हूं, न ही मैं एक क्रॉस कंपाइलर की तलाश में हूं, मैं बस अपनी स्रोत फ़ाइलों को परिवर्तित करने में कुछ मदद चाहता हूं।

+0

मैं इसे आईफोन उपकरण में सीएस 5 निर्यात लेता हूं उपयुक्त नहीं है? – Allan

+0

मैंने इसे आजमाया है, लेकिन जैसा कि यह * सभी के साथ एक क्रॉस कंपाइलर है, इसलिए यह वास्तव में प्रदर्शन के रूप में स्पष्ट रूप से नहीं है। मेरे अनुभव में – grapefrukt

+0

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

उत्तर

1

मुझे एक उपकरण के बारे में पता नहीं है, लेकिन अगर मैं वास्तव में बहुत सारे (सरल) कोड को परिवर्तित करने के लिए प्रयास करता हूं तो मैं आपकी समस्या का प्रयास करता हूं और हमला करता हूं। मुझे यकीन है कि मेरा सुझाव कोड के उन हिस्सों पर उपयोगी नहीं है जो बहुत ही फ्लैश-विशिष्ट (सभी डिस्प्ले ऑब्जेक्ट सामग्री?) हैं और यह भी आपके बहुत सारे तर्क पर उपयोगी नहीं है। लेकिन निर्माण करना मजेदार होगा! :-)

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

जब तक आप एएस 3 के लिए अपना खुद का (अर्ध) पार्सर बनाना नहीं चाहते हैं, तो आपको किसी प्रकार की पार्सर की आवश्यकता होगी, जाहिर है FlexPMD में एक (इसे कभी भी इस्तेमाल नहीं किया गया है), और शायद अन्य भी हैं।

पार्सर पर अपना हाथ लेने के बाद आपको सिस्टम को सुझाव देने का कोई तरीका ढूंढना होगा कि कौन से हिस्सों को स्वचालित रूप से परिवर्तित किया जा सकता है। आप सामान्य मामले के लिए पार्सर/जेनरेटर स्क्रिप्ट में नियमों को आजमा सकते हैं और जोड़ सकते हैं। अधिक विशिष्ट मामलों के लिए मैं वास्तविक वर्ग/संपत्ति/विधि पर कस्टम मेटाडेटा का उपयोग करता हूं, मान लीजिए कि वास्तविक AS3 पार्सर सही ढंग से उनको पार्स करेगा।

अब आपके काम का हिस्सा हैंड-कनवर्टिंग फाइलों से हाथ-एनोटेटिंग फाइलों में स्थानांतरित हो जाएगा, लेकिन यह आपके लिए ठीक हो सकता है।

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

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

0

स्पैरो फ्रेमवर्क देखें। इसे एक्शनस्क्रिप्ट डेवलपर्स के साथ दिमाग में डिजाइन करने के लिए अधिकृत किया गया है, उन वर्गों को पुनर्निर्मित करना जो अनुकरण डिस्प्ले सूची और इस तरह की चीजों का अनुकरण करते हैं। यदि आप CS5 पैकेजर का उपयोग नहीं करना चाहते हैं तो आपको निश्चित रूप से कुछ "रीजिंग" में डुबकी डालना होगा।

http://www.sparrow-framework.org/

0

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

तो आपको एक अलग प्रोग्रामिंग मॉडल का उपयोग करके फिर से लिखना चाहिए।

1

मैंने इस प्रक्रिया के पुरुषों के पहलुओं को दूर करने के लिए एक साथ एक उपकरण डालना शुरू कर दिया है।

मैं यह पता लगाने की कोशिश कर रहा हूं कि इसे साफ करने के लिए पर्याप्त रुचि है या दूसरों के उपयोग के लिए पर्याप्त स्थिर है। मैं वैसे भी कर सकता हूँ।

http://meanwhileatthelab.blogspot.com.au/2012/08/automating-process-of-converting-as3-to.html

यह अब तक मुझे बहुत समय की बचत है, जबकि ObjC को AS3 से मेरी काफी बड़ी खेलों में से एक पोर्टिंग।