我有一个带有几个对象的场景作为动画片段,可以一次点击一个。 会发生的是我能够点击每个对象,然后单击场景切换到下一帧。
如何更改?
基本上我有一把钥匙和一扇门,两个都是动画片夹。 您可以收集钥匙,它会消失,之后您可以点击门打开它。 实际发生的是你们都能够点击钥匙和门。 当您单击该键时,它按预期工作,但是当您单击门时,该键仍然会消失。对于超过2个对象,这会更烦人。
密钥的代码:
addEventListener(MouseEvent.CLICK, CollectKey);
function CollectKey(event: MouseEvent): void
{
this.visible = false;
// door
MovieClip(root).door.addEventListener(MouseEvent.CLICK, MovieClip(root).FinishGame);
}
门的代码:
stop();
function FinishGame(event: MouseEvent): void
{
if(MovieClip(root).currentFrame == 4)
{
nextFrame();
}
}
http://www.wuala.com/sollniss/stuff/Untitled-2.swf/
http://www.wuala.com/sollniss/stuff/Untitled-2.fla/
答案 0 :(得分:0)
修改
在查看你的.fla后,我可以看到你的问题:
在第一帧中,您有以下脚本:
stop();
addEventListener(MouseEvent.CLICK, StartGame);
function StartGame(event: MouseEvent): void
{
nextFrame();
}
你可能不知道你在那里添加的鼠标点击监听器,在你告诉它之前不会消失(即使帧发生了变化)。这就是为什么每次点击都会调用下一帧。
要解决此问题,只需删除收听,然后再转到下一帧:
function StartGame(event: MouseEvent): void
{
removeEventListener(MouseEvent.CLICK, StartGame);
nextFrame();
}
答案 1 :(得分:0)
并且,可能只有可见的false是不够的,你还需要为key元素设置enabled = false和mouseEnabled = false,因为没有它,它将继续听到click事件。