Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 按钮数组和开关语句:ActionScript3_Arrays_Flash_Switch Statement - Fatal编程技术网

Arrays 按钮数组和开关语句:ActionScript3

Arrays 按钮数组和开关语句:ActionScript3,arrays,flash,switch-statement,Arrays,Flash,Switch Statement,我是ActionScript3(以及这个网站)的新手,在做一些可能非常基本的事情时遇到了困难。我在舞台上有两个电影剪辑,可以作为按钮。我把它们命名为btn1和btn2。我试图做的是创建这些“按钮”的数组,并为每个按钮添加一个事件侦听器。单击一个按钮时,将转到特定帧。单击另一帧时,您将转到另一帧。但是,当我单击btn1时,我在输出窗口中得到“转到第2帧”,这是不正确的。我不确定我做错了什么 在第1帧中,我有以下内容: import flash.events.MouseEvent; import f

我是ActionScript3(以及这个网站)的新手,在做一些可能非常基本的事情时遇到了困难。我在舞台上有两个电影剪辑,可以作为按钮。我把它们命名为btn1和btn2。我试图做的是创建这些“按钮”的数组,并为每个按钮添加一个事件侦听器。单击一个按钮时,将转到特定帧。单击另一帧时,您将转到另一帧。但是,当我单击btn1时,我在输出窗口中得到“转到第2帧”,这是不正确的。我不确定我做错了什么

在第1帧中,我有以下内容:

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
    }
}

谢谢你帮了大忙。