2013-09-28 15 views
1

我有按鈕,它是實例名稱爲字母的影片剪輯。我正在搭配使用for循環來獲得價值。下面是代碼使用影片剪輯與循環內的事件處理程序

var buttons:Array; 
    buttons = new Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H','I', 'J', 'K', 'L', 
      'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); 

function gettracedValue { 

for(var i= 0; i < buttons.length; i++) { 

    var btnName:String = buttons[i]; 

     trace("Buttons " + btnName); 

     btnName.addEventListener(MouseEvent.MOUSE_UP, traceValue); 

     } //end for 

}//end gettracedValue 

function traceVaalue():void{ 
    trace("Clicked: " + event.target.name); 

} 

雖然我運行代碼我得到

TypeError: Error #1010: A term is undefined and has no properties. 
at hangMan_fla::MainTimeline/gettracedValue() 

回答

2

不能ASIGN的事件監聽到的字符串。

var buttons:Array = new Array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H','I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'); 
function gettracedValue() { 
    for(var i:uint= 0; i < buttons.length; i++) { 
     var btn:MovieClip = getChildByName(buttons[i]) as MovieClip; 
     btn.addEventListener(MouseEvent.CLICK, traceValue); 
    } 
} 
function traceValue(e:MouseEvent):void{ 
    trace("Clicked: " + e.target.name); 
}