我有一个启动游戏的按钮,当你点击它时会初始化游戏
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
}
}
答案 0 :(得分:0)
这是由事件冒泡引起的。
只需将onStartButtonClick
功能修改为:
function onStartButtonClick(event: MouseEvent): void
{
event.stopPropagation();
addEventListener(Event.ENTER_FRAME, loop);
stage.addEventListener(MouseEvent.CLICK, fire);
有关事件冒泡CHECK HERE
的详细信息