我做了一個函數,它會使用從xml創建的變量從我的庫中添加一個子項。AS3使用addChild()和從XML獲取的變量
var ChosenGraphic:String = units.unit.(@titel==k1).graphic;
var mc:MovieClip = new ChosenGraphic;
addChild(mc);
我知道我不能使用:字符串爲此,但我不知道如何使用。我試圖讓它現在工作2個小時,並且變得非常令人沮喪。 其他一切正常,我測試過了。
我做了一個函數,它會使用從xml創建的變量從我的庫中添加一個子項。AS3使用addChild()和從XML獲取的變量
var ChosenGraphic:String = units.unit.(@titel==k1).graphic;
var mc:MovieClip = new ChosenGraphic;
addChild(mc);
我知道我不能使用:字符串爲此,但我不知道如何使用。我試圖讓它現在工作2個小時,並且變得非常令人沮喪。 其他一切正常,我測試過了。
您想使用getDefinitionByName()頂級功能。
下面是使用它的一個例子,它從我鏈接到的文檔中直接提取。請注意,類名稱字符串必須是完全限定的類名稱(即:它包括包名稱以及類)。
package {
import flash.display.DisplayObject;
import flash.display.Sprite;
import flash.utils.getDefinitionByName;
public class GetDefinitionByNameExample extends Sprite {
private var bgColor:uint = 0xFFCC00;
private var size:uint = 80;
public function GetDefinitionByNameExample() {
var ClassReference:Class = getDefinitionByName("flash.display.Sprite") as Class;
var instance:Object = new ClassReference();
instance.graphics.beginFill(bgColor);
instance.graphics.drawRect(0, 0, size, size);
instance.graphics.endFill();
addChild(DisplayObject(instance));
}
}
}
好的,謝謝你的幫助,沒想到我必須經歷這一切麻煩才能做到這一點。但我仍然有這個問題,我可能做錯了什麼。 'var k2:String = units.unit。(@ titel == k1).graphic; \t var kClass:Class = getDefinitionByName(k2)as Class; \t var tempadd:MovieClip = new kClass(); \t addChild(tempadd); ' 這給我回:錯誤#1065:變量未定義 – user2069179 2013-02-13 18:00:16
Nvm,我得到它的工作,我打電話給MC的東西是錯誤的。非常感謝你! – user2069179 2013-02-14 13:58:15
字符串是您嘗試實例化的MovieClip的類名稱嗎?如果不是,字符串代表什麼? – 2013-02-13 17:00:32
是的,我不知道該放什麼 – user2069179 2013-02-13 17:03:47