2009-05-30 15 views
5

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

उत्तर

12

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

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

दो साल पहले या तो मैंने फ्लैश के लिए अपनी खुद की ट्विन लाइब्रेरी बनाने के लिए तैयार किया (क्योंकि मौजूदा मौजूदा ट्विन पुस्तकालयों के साथ मेरी निराशा के कारण)। मैंने इसे Coretween नाम से रिलीज़ किया और यह लाइब्रेरी आपको अन्य चीज़ों के साथ, प्रत्येक व्यक्ति के बीच किस प्रकार की एनीमेशन पसंद करती है, चुनने देती है। प्रलेखन पृष्ठ पर मैं फ्रेम आधारित और समय आधारित एनीमेशन के बीच अंतर के example देता हूं। उस पृष्ठ पर उदाहरण एसडब्ल्यूएफ 12 एफपीएस पर चलता है लेकिन जैसा कि आप देख सकते हैं, निचला सर्कल बहुत चिकना होता है क्योंकि यह एक टाइमर द्वारा नियंत्रित होता है जो 60 एफपीएस पर टिकता है और स्क्रीन को एसडब्ल्यूएफ फ्रेम दर से निर्भर करता है। ध्यान रखें कि टाइमर भी वास्तविकता में 60 एफपीएस पर टिकता है, फ्लैश प्लेयर कभी भी इस फ्रेम दर को हासिल करने में सक्षम नहीं होगा। हालांकि, यह इस फ्रेम दर को प्राप्त करने का प्रयास करेगा जिसके परिणामस्वरूप एक बहुत ही आसान समग्र एनीमेशन होगा।

दुर्भाग्य से अब तक मैं अपनी लाइब्रेरी का 1.0 संस्करण जारी नहीं कर पाया लेकिन जहां तक ​​मुझे पता है कि यह काफी स्थिर है। आप फिट बैठने के किसी भी तरीके से इसका उपयोग करने के लिए स्वागत से अधिक हैं। मैंने कई व्यावसायिक प्रस्तुतियों में कोरटविन का उपयोग किया है जिसमें हमने ऑस्ट्रेलिया में StGeorge बैंक के लिए किया था।

+0

बहुत बढ़िया! बस मैं यह चाहता हूं। मैं स्वीकार के साथ इंतजार करूंगा, इसलिए आप अधिक अपवर्तित हो सकते हैं :) – George

+0

धन्यवाद। जब उत्तर स्वीकार किए जाते हैं तो लोग अभी भी वोट दे सकते हैं। :) – Luke

+0

कोई स्वीकृत उत्तर वाले प्रश्न आमतौर पर अधिक ध्यान देते हैं। अधिकांश उपयोगकर्ता स्वीकार किए जाने के बाद उत्तर देने से परेशान नहीं होते हैं। – George

2

यहाँ कुछ एक्शन आधारित एनीमेशन पुस्तकालयों हैं:

TweenMax

Tweener

वे दोनों अच्छी तरह से काम करते हैं, और आपको क्या चाहिए के साथ मदद करनी चाहिए।

+0

दुर्भाग्यवश नहीं, क्योंकि मुझे अपनी वस्तुओं पर वास्तविक समय चिकनी नियंत्रण की आवश्यकता है। ट्वीनर विधि, जो गारंटी देता है कि कभी-कभी भविष्य में वस्तु अपनी वांछित स्थिति तक पहुंच जाएगी "असहज" है। – George

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