0
第一次在這裏發佈。我使用循環來創建3個按鈕,但我的問題是將按鈕操作分配給每個按鈕。我的按鈕偵聽器/動作代碼只適用於最後創建的按鈕:(如何給每個動態創建的按鈕動作
我試圖通過我給他們的名字來定位按鈕($ navButton.name =「button」+ i),但是拋出了一個未定義的錯誤爲Button1
任何幫助,將不勝感激,我是一個AS3小白:「(
function createNav(){
for (var i:Number = 0; i < myXMLArray.length; i++)
{
$navButton = new NavButton();
$navButton.name = "button" +i;
$navButton.x = i * (SIZE + SPACING);
$navButton.y = 179;
addChild($navButton);
trace("$navButton.name = "+$navButton.name);
trace("button 1 = "+button1);
//trying to give the 3 buttons a simple rollover/click action:
$navButton.buttonMode = $navButton.buttonMode = true;
$navButton.addEventListener(MouseEvent.MOUSE_UP, navAction);
$navButton.addEventListener(MouseEvent.ROLL_OVER, function() {$navButton.nextFrame();});
$navButton.addEventListener(MouseEvent.ROLL_OUT, function() {$navButton.prevFrame();});
//thought I could control via calling the $navButton.name
//button1.addEventListener(MouseEvent.MOUSE_UP, navAction);
//button1.addEventListener(MouseEvent.ROLL_OVER, function() {button1.nextFrame();});
//button1.addEventListener(MouseEvent.ROLL_OUT, function() {button1.prevFrame();});
/*var traceText:TextField = new TextField();
traceText.defaultTextFormat = a12;
traceText.x = i * (SIZE + SPACING);
traceText.y = 181;
traceText.width = 116;
traceText.height = 20;
traceText.text = myXMLArray[i].id;
addChild(traceText);*/
}
}
function navAction()
{
trace("click");
}
太棒了!這工作thx:D 而thx的小費關於函數名稱和VAR命名太... – 2009-09-04 20:18:41