如何分离Button Click和Fire Click?

时间:2015-06-06 14:05:15

标签: actionscript-3

我有一个启动游戏的按钮,当你点击它时会初始化游戏

startButton.addEventListener(MouseEvent.CLICK, onStartButtonClick);

我也有一个射击的东西,它应该在你开始游戏之后通过点击开始按钮拍摄然后点击时拍摄。

stage.addEventListener(MouseEvent.CLICK, fire);

然而,当我点击开始按钮时,它会立即触发。我该如何解决这个问题?

这是我的代码。

public function Game()
    {
        startButton.addEventListener(MouseEvent.CLICK, onStartButtonClick);
    }

    function onStartButtonClick(event: MouseEvent): void
    {
        addEventListener(Event.ENTER_FRAME, loop);
        stage.addEventListener(MouseEvent.CLICK, fire);

        function fire(m: Event)
        {
            //shoot bullet
        }
    }

1 个答案:

答案 0 :(得分:0)

这是由事件冒泡引起的。 只需将onStartButtonClick功能修改为:

即可
function onStartButtonClick(event: MouseEvent): void
{
    event.stopPropagation();
    addEventListener(Event.ENTER_FRAME, loop);
    stage.addEventListener(MouseEvent.CLICK, fire);

有关事件冒泡CHECK HERE

的详细信息