好的,我打破了我的示例,以避免複雜的事情。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