【问题标题】:AS3: int used where a boolean value was expectedAS3:int 用于预期布尔值的地方
【发布时间】:2012-11-29 15:21:11
【问题描述】:

我有三个不同的按钮。当您单击其中一个按钮时,应该会激活 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);
        }
    }
}

【问题讨论】:

标签: actionscript-3 events parameters addeventlistener


【解决方案1】:

这是因为 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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-04
    • 2016-01-14
    • 1970-01-01
    • 2019-08-08
    • 2023-04-08
    • 2019-12-11
    • 1970-01-01
    • 2013-02-13
    相关资源
    最近更新 更多