मेरे पास फ्लैग में ग्राफिक्स संपत्तियों का एक गुच्छा है, मूवीक्लिप्स कुछ कक्षाओं से जुड़े हुए हैं। मैं fla को एक swc के रूप में निर्यात करता हूं, जिसे मैं अपनी लाइब्रेरी में "कोड में विलय" विकल्प के साथ जोड़ता हूं।एसडब्ल्यूसी के साथ काम करना - getDefinitionByName समस्या
सभी काम करता है, मैं अपने मूवीक्लिप्स के उदाहरण बना सकता हूं, बस अपनी कक्षाओं को इस तरह बुलाकर।
//example 1
var newMc:BaseClass = new GraphicAsset();
अब अगर मैं निम्नलिखित करना चाहता हूं, तो फ़्लैश एक त्रुटि फेंकता है, ग्राफिक्सएसेट क्लास शून्य है!
//example 2
var GraphicsAssetClass:Class = getDefinitionByName("GraphicAsset") as Class;
एक ही रास्ता मैं काम करने के लिए ऊपर लाइन प्राप्त कर सकते हैं इस
//example 3
var newMc:GraphicAsset;
var GraphicsAssetClass:Class = getDefinitionByName("GraphicAsset") as Class;
//then I'm able to do this
var newMc:BaseClass = new GraphicsAssetClass();
आप एक समाधान जहां मैं बस मैं की तरह getDefinitionByName() फोन करके वर्ग मिल सकता है के बारे में सोच सकते हैं करने के लिए है उदाहरण 3 पर उदाहरण के लिए, उदाहरण 3 समाधान का सहारा लेना।
'GraphicAsset' के लिए पूरी तरह से योग्य क्लास नाम क्या है? क्या यह सिर्फ 'ग्राफिकएसेट' है या क्या कोई पैकेज भी है? –
नहीं, मैं एक पैकेज का उपयोग नहीं कर रहा हूं। ध्यान दें कि उदाहरण 1 और 3 ठीक काम करते हैं, उदाहरण के अलावा 3 अव्यवहारिक – PatrickS