Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.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
Actionscript 3 AS3:int在需要布尔值的地方使用_Actionscript 3_Events_Parameters_Addeventlistener - Fatal编程技术网

Actionscript 3 AS3:int在需要布尔值的地方使用

Actionscript 3 AS3:int在需要布尔值的地方使用,actionscript-3,events,parameters,addeventlistener,Actionscript 3,Events,Parameters,Addeventlistener,我有三个不同的按钮。当您单击其中一个按钮时,应激活stageSelect功能,然后该功能应输出按钮的编号 但是当我这样做的时候,我会在标题中发现错误。我做错了什么 package { import flash.display.MovieClip; import flash.display.SimpleButton; import flash.events.MouseEvent; import flash.ui.Mouse; public class Me

我有三个不同的按钮。当您单击其中一个按钮时,应激活stageSelect功能,然后该功能应输出按钮的编号

但是当我这样做的时候,我会在标题中发现错误。我做错了什么

package {
    import flash.display.MovieClip;
    import flash.display.SimpleButton;
    import flash.events.MouseEvent;
    import flash.ui.Mouse;

    public class MenuScreen extends MovieClip {
        public function MenuScreen() {
            Mouse.show();
            selectGrass.addEventListener(MouseEvent.CLICK, stageSelect, 1);
            selectDirt.addEventListener(MouseEvent.CLICK, stageSelect, 2);
            selectGravel.addEventListener(MouseEvent.CLICK, stageSelect, 3);
        }

        public function stageSelect(stageID:Number) {
            trace(stageID);
        }
    }
}

这是因为addEventListener方法的第三个参数是useCapture,它需要一个布尔值,表示您希望在冒泡之前的捕获阶段捕获事件。你在打电话吗

selectGrass.addEventListener( MouseEvent.CLICK, StageSelect, 1);
你需要做的是

selectGrass.addEventListener( MouseEvent.CLICK, grassSelected);
selectDirt.addEventListener( MouseEvent.CLICK, dirtSelected);

private function grassSelected(event:MouseEvent):void{
    // do grass stuff
}

private function dirtSelected(event:MouseEvent):void{
    // do dirt stuff
}

这是因为addEventListener方法的第三个参数是useCapture,它需要一个布尔值,表示您希望在冒泡之前的捕获阶段捕获事件。你在打电话吗

selectGrass.addEventListener( MouseEvent.CLICK, StageSelect, 1);
你需要做的是

selectGrass.addEventListener( MouseEvent.CLICK, grassSelected);
selectDirt.addEventListener( MouseEvent.CLICK, dirtSelected);

private function grassSelected(event:MouseEvent):void{
    // do grass stuff
}

private function dirtSelected(event:MouseEvent):void{
    // do dirt stuff
}

不能以这种方式将参数传递给事件侦听器。请注意,不能以这种方式将参数传递给事件侦听器。看见