/ / कस्टम क्लास ऑब्जेक्ट पर एक डिस्प्ले ऑब्जेक्ट कास्टिंग - फ्लैश, एक्शनस्क्रिप्ट -3

कस्टम क्लास ऑब्जेक्ट पर एक डिस्प्ले ऑब्जेक्ट कास्टिंग - फ्लैश, एक्शनस्क्रिप्ट -3

क्या मैं पूछ सकता हूं कि मैं किसी वस्तु को दूसरे प्रकार से कैसे डाल सकता हूं? AS3 में मैंने वैरिएबल के ऑब्जेक्ट (ऑब्जेक्ट टाइप) को डालने की कोशिश की, लेकिन यह काम नहीं करता है, नीचे मैंने मछलियों की वस्तुओं को बच्चे में शामिल किया है, और जब माउस को ट्रिगर किया जाता है, तब मैं मछलियों को वापस बाहर निकालता हूं और फिर मछलियों को बुलाता हूं कि क्या करना है । हालाँकि, मैं कस्टम क्लास फिश का तरीका नहीं बता सकता क्योंकि यह एक डिस्प्लेबोज है।

private function onMouseDownTriggered(e:MouseEvent):void
{
var food:Food = new Food(this, _stageRef.mouseX, _stageRef.mouseY);
for (var i :int = 0; i < this.numChildren; i++)
{
var fish : fish= this.getChildByName("fish" + i);
fish.getFood(food);
}
}

उत्तर:

जवाब के लिए 3 № 1

AS3 में एक कास्ट निम्नानुसार प्राप्त किया जा सकता है:

var fish:Fish = Fish(this.getChildByName("fish" + i));

or

var fish:Fish = this.getChildByName("fish" + i) as Fish

हालांकि यह ध्यान रखें कि पहली कास्ट नोटेशन अधिक प्रतिबंधात्मक है और प्रभावी रूप से रनटाइम अपवाद का कारण बनेगी जब कास्ट प्रतिबंधों को पूरा नहीं किया गया है।

दूसरा अंकन बहुत अधिक ढीला है और इससे कोई रनटाइम अपवाद नहीं होगा। यह काफी त्रुटि प्रवण हो सकता है और देखभाल के साथ संभाला जाना चाहिए।

चियर्स