0
在Flash項目中,我加載了一個外部SWF,其中爲ActionScript爲其導出了一些符號。我需要創建這些符號的實例,但由於它是一個加載的SWF,因此我無法直接訪問這些類。爲已加載的SWF中的動作導出的符號創建實例
任何想法?
在Flash項目中,我加載了一個外部SWF,其中爲ActionScript爲其導出了一些符號。我需要創建這些符號的實例,但由於它是一個加載的SWF,因此我無法直接訪問這些類。爲已加載的SWF中的動作導出的符號創建實例
任何想法?
那麼,有幾種方法可以做到這一點。
的最好的可能是這樣的:
var ldr:Loader = new Loader();
ldr.contentLoaderInfo.addEventListener("complete", ldrDone);
ldr.load(new URLRequest("external.swf"));
function ldrDone(evt:*):void
{
var externalclass:Class = evt.target.applicationDomain.getDefinition("ExternalClass") as Class;
var temp:MovieClip = new externalclass();
addChild(temp);
}
凡ExternalClass
是在外部SWF導出的類名。
或者,只需在外部電影中使用一個函數,在該函數中按需返回特定對象。
喜歡把這個在您的外部SWF:
function getThisClass():*
{
return new MyClass();
}
這是不是第一個真棒,但可能會導致其他的想法了。
希望這會有所幫助。
+1爲第一種方法的真棒;) – goliatone 2011-05-05 16:21:58
你使用ExternalClass.as或只是ExternalClass,如果實際的文件名是ExternalClass.as? – Saad 2011-05-05 20:40:12