2013-02-13 97 views
0

我想將按鈕名稱傳遞給變量的一部分,但沒有得到success.please help me.thank you。將按鈕名稱傳遞給函數中的變量

[Embed(source="desenler/k1r1.jpg", mimeType="image/jpeg")] 
     public var Imgk1r1:Class; 
[Embed(source="desenler/k1r2.jpg", mimeType="image/jpeg")] 
     public var Imgk1r2:Class; 


k1r1.addEventListener(MouseEvent.CLICK, onbi); 
k1r2.addEventListener(MouseEvent.CLICK, onbi); 

    private function onbi(e:MouseEvent):void { 

     bdWindow=new Imgk1r1().bitmapData; 

,而不是說,我想通過按鈕名稱

bdWindow=new Img+button name+().bitmapData; 

我試過

bdWindow=new ["Img"+e.currentTarget.name+"().bitmapData"]; 

,但它說:「實例化嘗試對非構造函數。 「

回答

0

你非常接近。 由於Imgk1r1是this變量(不管它可能在你的情況下),你應該能夠如下用括號來訪問它:

private function onbi(e:MouseEvent):void 
{ 
    bdWindow = Bitmap(new this["Img"+DisplayObject(e.currentTarget).name]()).bitmapData; 
} 
+0

嗨馬塞拉,感謝您的關注,但它說; ReferenceError:錯誤#1065:變量Imgk1r1未定義。 \t at global/flash.utils :: getDefinitionByName() – user1332219 2013-02-13 16:17:26

+0

對不起,我忘了你是在嵌入圖像,而不是將它們導出爲ActionScript。編輯的代碼示例應該可以工作。 – Marcela 2013-02-13 16:35:26

+0

謝謝,馬塞拉。上帝保佑你。 – user1332219 2013-02-13 16:57:00