好的,我打破了我的示例,以避免复杂的事情。As3按钮被禁用
我在第一帧有2个按钮,由一个叫做'容器'的动画片段夹住。 MOUSE_OVER/OUT适用于按钮影片剪辑内的动画,并以stop()停止; (在movieclip按钮内)。
stop();
container.addEventListener(MouseEvent.CLICK, clickCommand);
function clickCommand(event:MouseEvent):void{
if(event.target.name == "button1"){
container.alpha = 0;
gotoAndStop(15);
}
if(event.target.name == "button2"){
container.alpha = 0;
gotoAndStop(16);
}
}
container.addEventListener(MouseEvent.MOUSE_OVER, rollOverCommand);
function rollOverCommand(event:MouseEvent):void{
if(event.target.name == "button1"){
event.target.gotoAndPlay(2);
}
if(event.target.name == "button2"){
event.target.gotoAndPlay(2);
}
}
container.addEventListener(MouseEvent.MOUSE_OUT, rollOutCommand);
function rollOutCommand(event:MouseEvent):void{
if(event.target.name == "button1"){
event.target.gotoAndPlay(11);
}
if(event.target.name == "button2"){
event.target.gotoAndPlay(11);
}
}
正如你可以看到,我希望容器的α0,当用户点击非此即彼按钮,然后有时间轴跳到相应的帧,这取决于如果用户选取键1(frame15)或按钮2 (第16帧)。
这工作得很好。问题是我在这些框架上有一个新菜单,这些框架也位于名为container2的影片剪辑中 - 当我使用这种方法时,他们的MOUSEOVER/OUT/CLICKs突然不工作。这里是他们的代码:
stop();
container2.addEventListener(MouseEvent.CLICK, clickCommand2);
function clickCommand2(event:MouseEvent):void
{
if (event.target.parent.name == "main1")
{
event.target.root.gotoAndPlay(13);
trace(event.target.parent.name);
}
else if (event.target.parent.name == "main2")
{
trace(event.target.parent.name);
event.target.root.gotoAndStop(14);
}
}
container2.addEventListener(MouseEvent.MOUSE_OVER, rollOverCommand2);
function rollOverCommand2(event:MouseEvent):void
{
if (event.target.name == "main1","main2")
{
event.target.parent.gotoAndPlay(16);
}
}
container2.addEventListener(MouseEvent.MOUSE_OUT, rollOutCommand2);
function rollOutCommand2(event:MouseEvent):void
{
if (event.target.name == "main1","main2")
{
event.target.parent.gotoAndPlay(21);
}
}
所以我可以得到我想要的框架,但新的按钮(MAIN1,MAIN2)我已经把自己的残疾是。
这是因为我没有移除听众吗?我是否以这种错误的方式去做?
在此先感谢 - 非常感谢。
欢迎来到社区。请查看您以前的问题,并选择最佳答案旁边的复选标记。 – zzzzBov 2011-02-15 22:18:16