在actionscript中识别按钮按下

在actionscript中识别按钮按下,actionscript,button,Actionscript,Button,在一个迷你flash游戏中,我有几个不同的关卡选择按钮,它们都连接到一个关卡更改功能,我只是想知道是否有一个属性存储了哪个按钮被按下,或者如果没有,如何确定哪个按钮被按下 谢谢如果您使用的是AS3,您可以在levelChange函数中添加switch语句 例如。。。。如果有两个按钮,一个实例名为level1,另一个为level2 function levelChange( me:MouseEvent ):void { switch( me.currentTarget.name ) {

在一个迷你flash游戏中,我有几个不同的关卡选择按钮,它们都连接到一个关卡更改功能,我只是想知道是否有一个属性存储了哪个按钮被按下,或者如果没有,如何确定哪个按钮被按下


谢谢

如果您使用的是AS3,您可以在levelChange函数中添加switch语句

例如。。。。如果有两个按钮,一个实例名为level1,另一个为level2

function levelChange( me:MouseEvent ):void
{
   switch( me.currentTarget.name )
   {
      case "level1":
        // Go to Level 1 here.
      case "level2":
        // Go to Level 2 here. 
   }
}
请尝试MouseeEvent的currentTarget属性示例:

我建议您将按钮存储在函数外部的变量中,如下所示:

var levelOne:MovieClip = levelOne;
所以你以后可以这样拜访他们:

function buttonClick(event:MouseEvent):void
{
     if (event.currentTarget == levelOne) {
          trace("level one selected");
     else if (event.currentTarget == levelTwo) {
          trace("level two selected");
     }
}

您可能会澄清,您是在ActionScript3还是在ActionScript2中这样做的?另外,如果您在2中执行此操作,是否将脚本直接附加到按钮?我将为AS3提供一个答案,但如果这个问题是关于AS2的,可能没有帮助。嗯,它似乎不起作用。没有语法错误,但按钮不起作用这正是我写的,只是您使用的是IF语句而不是switch。@DustinSparks您根据Sam无法使用的实例名称搜索了名称,我觉得currentTarget应该突出显示。一天下来,山姆发现它很有用。
function buttonClick(event:MouseEvent):void
{
     if (event.currentTarget == levelOne) {
          trace("level one selected");
     else if (event.currentTarget == levelTwo) {
          trace("level two selected");
     }
}