Arrays 按钮数组和开关语句:ActionScript3
我是ActionScript3(以及这个网站)的新手,在做一些可能非常基本的事情时遇到了困难。我在舞台上有两个电影剪辑,可以作为按钮。我把它们命名为btn1和btn2。我试图做的是创建这些“按钮”的数组,并为每个按钮添加一个事件侦听器。单击一个按钮时,将转到特定帧。单击另一帧时,您将转到另一帧。但是,当我单击btn1时,我在输出窗口中得到“转到第2帧”,这是不正确的。我不确定我做错了什么 在第1帧中,我有以下内容:Arrays 按钮数组和开关语句:ActionScript3,arrays,flash,switch-statement,Arrays,Flash,Switch Statement,我是ActionScript3(以及这个网站)的新手,在做一些可能非常基本的事情时遇到了困难。我在舞台上有两个电影剪辑,可以作为按钮。我把它们命名为btn1和btn2。我试图做的是创建这些“按钮”的数组,并为每个按钮添加一个事件侦听器。单击一个按钮时,将转到特定帧。单击另一帧时,您将转到另一帧。但是,当我单击btn1时,我在输出窗口中得到“转到第2帧”,这是不正确的。我不确定我做错了什么 在第1帧中,我有以下内容: import flash.events.MouseEvent; import f
import flash.events.MouseEvent;
import flash.events.Event;
stop();
var buttons:Array = ["btn1","btn2"];
for (var i:int =0; i < buttons.length; i++)
{
var buttonName:Object = buttons[i];
this.addEventListener(MouseEvent.CLICK, onButtonClicked);
trace(buttonName);
}
function onButtonClicked(event:MouseEvent):void
{
switch (buttonName)
{
case "btn1" :
trace("go to frame 1");
break;
case "btn2" :
trace("go to frame 2");
break;
default :
break;
}
}
导入flash.events.MouseEvent;
导入flash.events.Event;
停止();
变量按钮:数组=[“btn1”,“btn2”];
对于(变量i:int=0;i
MouseEvent.target
为您提供了在事件处理程序中处理的事件的调度对象,使用buttons id属性(如果您已设置)或通过对象比较可以轻松识别该对象
function onButtonClicked(event:MouseEvent):void
{
if (event.target === btn1)
{
//do something
}
else if (event.target === btn2)
{
//do something
}
}
使用id的示例
function onButtonClicked(event:MouseEvent):void
{
switch (event.target.id)
{
case btn1.id:
//do something
break;
case btn2.id:
//do something
break;
default:
//do something
break;
}
}
使用对象比较的示例
function onButtonClicked(event:MouseEvent):void
{
if (event.target === btn1)
{
//do something
}
else if (event.target === btn2)
{
//do something
}
}
谢谢你帮了大忙。