व्यक्तिगत रूप से, मैं आसानी से उपयोग की आसानी के लिए कस्टम ईवेंट का उपयोग करता हूं। जब कुछ होता है (एक एनीमेशन खत्म होता है या एक त्रुटि में त्रुटि होती है) तो मैं एक वर्ग को एक ईवेंट भेज सकता हूं) और किसी भी अन्य वर्गों ने उस घटना के आधार पर किसी भी अन्य कार्यों को चलाया है। इसके अलावा, मैं पुन: प्रयोज्यता के लिए कोड। प्रत्येक वर्ग का लक्ष्य पूर्ण आजादी है ताकि यह किसी भी परियोजना में अन्य पैकेजों की आवश्यकता के बिना चलाया जा सके। इसलिए एक वर्ग को किसी अन्य वर्ग की विधि कॉल करने के बजाय, मैं पहली कक्षा से एक ईवेंट भेजता हूं जिसे दूसरी कक्षा सुनती है और फिर उस विधि को चलाती है। फिर जब मुझे किसी अन्य प्रोजेक्ट के लिए उस प्रथम श्रेणी की आवश्यकता होती है, तो मैं इसे संशोधित किए बिना और किसी कार्यक्षमता को खोए बिना इसे कॉपी/पेस्ट कर सकता हूं।
संपादित करें: इसके अलावा, यह ध्यान देने योग्य है कि कभी-कभी लोग घटनाओं के तर्कों को पार करने के लिए जो कुछ भी वर्णन करते हैं, वह करते हैं।
कहें कि आपके पास मंच पर एक बटन है और आपको इसे क्लिक करने में सक्षम होना चाहिए, लेकिन आपको उस विधि को मैन्युअल रूप से कॉल करने में सक्षम होना चाहिए। कुछ लोगों को यह नहीं पता कि आप एक शून्य घटना में गुजर सकते हैं और केवल एक ही विधि है। या फिर आप एक अशक्त डिफ़ॉल्ट तर्क के रूप में सेट कर सकते हैं, नीचे देखें:
private function onClickHandler(e:MouseEvent = null):void{
//as long as you never reference "e" within this method, this method can be used both for MouseEvent listeners and manually calling it elsewhere in the code
}
तकनीक मदद कर सकते हैं कि एक ईवेंट हैंडलर है कि केवल एक और तरीका है और कुछ नहीं कहता होने से बचने के। इस समय मेरे प्रोग्रामिंग में, प्रत्येक एकल AS3 ईवेंट हैंडलर मैं लिखता हूं, डिफ़ॉल्ट रूप से ईवेंट तर्क को शून्य से सेट करता है। यह सिर्फ बाद में चीजों को आसान बनाता है।
स्रोत
2012-11-27 18:04:32
अच्छी तरह से, हर बार आपको एक विधि को ट्रिगर करने की आवश्यकता होती है, तो आप कचरा कलेक्टर के लिए जीवन को आसान बना रहे हैं =) (उसके बारे में चिंता करने के लिए कम चीज़ें होंगी)। – Ziul