actionscript 3 - How to get an event for close or remove a instance in Flash AS3 -
पैकेज कॉमटेस्ट {import flash.display.Sprite; आयात करें Flash.Display.MovieClip; आयात करें com.greensock। *; आयात करें com.greensock.easing। *; आयात com.test.CreateRoundRectButton; Import flash.events। *; आयात करें Flash.net। *; पब्लिक क्लास विस्तारविवे मूवीक्लिप तक विस्तारित है {निजी वरीयताएंपैनल: मूवीक्लिप = नया मूवीक्लिप (); निजी var विवरणडेटा: ऑब्जेक्ट; निजी वैर बंद बीटीएन: स्प्राइट; निजी वैर विवरणफॉर्म: विस्तारकदृश्यफ़ॉर्म = नया विस्तारविवरण (); सार्वजनिक फ़ंक्शन detailView () {createPanel (); AddChild (detailPanel) detailPanel.addChild (विस्तारफॉर्म); } निजी फ़ंक्शन बनाएंपैनेल () {closeBtn = नया CreateRoundRectButton (30,30,10,1,0xFFFFFF, "X", 0x000000); CloseBtn.x = DetailForm.width - 25; closeBtn.y = 2; CloseBtn.addEventListener (MouseEvent.MOUSE_UP, बंद पैनेल, गलत, 0, सत्य); मैं इस क्लास के बच्चे को कैसे निकाल सकता हूं? मैं इस क्लास के बच्चे को कैसे हटा सकता हूं? जब मैं क्लोज़ बटन पर प्रेस करता हूं तो इसे खिड़की से निकालने की जरूरत होती है। लेकिन इस घटना को ठीक से नहीं मिल रहा है। मैं इसे कैसे निकाल सकता हूं
आपको लगता है कि क्या घटना। ट्रेन्ट्रेट का अर्थ है (या यह सिर्फ एक कोडिंग है त्रुटि)। पास के समय में पैनिल को माउस के नतीजे पर बंद किया जाता है। बीटीएन evt.currentTarget के मूल्य closeBtn है (क्योंकि यह ऑब्जेक्ट है जिसके लिए आपने श्रोता जोड़ा है, यह ऑब्जेक्ट इवेंट का संचालन कर रहा है)। चूंकि करीबी बीटीएन विवरणविवरण का बच्चा नहीं है, आप कुछ भी नहीं देख पाएंगे। वास्तव में, यदि आप डीबग प्लेयर में अपने कोड के डिबग बिल्ड को चलाने के लिए होते हैं, तो आप देखेंगे कि अपवाद छोल्ड कॉल के परिणाम अपवाद में होते हैं।
यह सोचें कि आप विस्तार से पैनल निकालना चाहते हैं, तो आप कर सकते हैं बस currentTarget को अनदेखा करें और जो आप पहले से ही जानते हैं कि आप उसे हटाना चाहते हैं उसे हटा दें:
सार्वजनिक फ़ंक्शन बंद करेंपैनेल (evt: MouseEvent) {removeChild (detailPanel); }
या ... चूंकि MOUSE_UP बुलबुले आप detailPanel में श्रोता को जोड़ सकते हैं और evt.currentTarget विस्तार से पैनल होगा ताकि हटाई गई बच्चे कॉल काम करे:
< कोड> detailPanel.addEventListener (MouseEvent.MOUSE_UP, बंद करेंपैनेल, गलत, 0, सत्य);
Comments
Post a Comment