मेरे पास एक वर्ग है जो विस्तार करता है Sprite
वर्ग (जो इसे बनाता है a DisplayObject
), और मैंने इसे एक बच्चे के रूप में जोड़ा है stage
विज़ुअलाइज़ेशन के लिए: stage.addChild(object)
.
मैं इसे मंच से हटाकर और इसके साथ काम करके इस वस्तु में परिवर्तन करना चाहूंगा (stage.getChildByName(object)
), लेकिन अब मुझे मंच से प्राप्त होने वाली वस्तु प्रकार की है DisplayObject
। अगर मुझे यकीन है कि मंच से प्राप्त यह वस्तु मेरी कक्षा की है - तो क्या मैं किसी भी तरह अपनी कक्षा के लिए प्रदर्शन कर सकता हूं।
उत्तर:
जवाब के लिए 2 № 1AS3 में 2 तरीके से कास्टिंग की जाती है।
आप एक उचित कलाकार कर सकते हैं:
MyClass(object)
यदि कलाकार विफल रहता है तो यह एक त्रुटि है।
आप भी इसका उपयोग कर सकते हैं as
कीवर्ड:
object as MyClass;
यदि कलाकार विफल रहता है तो यह अशक्त हो जाएगा।
आपको जागरूक होने की जरूरत है, कि getChildByName
एक वस्तु को स्वीकार नहीं करता है, लेकिन एक स्ट्रिंग (जो मेल खाती है .name
(या उदाहरण का नाम) एक प्रदर्शन वस्तु का मूल्य। यदि आपके पास पहले से ही एक संदर्भ है object
, तो वहाँ से देखने की कोई जरूरत नहीं है stage.getChildByName