に投稿する方法。私は3つのボタンを作成するためにループを使用していますが、私の問題は各ボタンにボタンのアクションを割り当てることです。私のボタンリスナ/アクションコードは、最後に作成されたボタンでのみ動作します:(初めて動的に作成されたボタンのアクションを、それぞれ
私はそれらの名前でボタンをターゲットにしようとしましたが($ navButton.name = "button" + i) 。Button1の
任意の助けをいただければ幸い、私はAS3のnoobのだ:「(
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 そして、関数名とvar命名についてのヒントについては... –