所以我在第一帧上有两个影片剪辑,sRP_mc 和 dP_mc。现在,当单击任一影片剪辑时,我希望将影片剪辑从舞台上移除,然后我希望改变帧(我希望影片转到第 5 帧)。在第 5 帧上,有一个关闭按钮,如果单击该按钮,则会将您带回第 1 帧(但是当它带您返回第 1 帧时,我希望单击的影片剪辑不再存在)。这是我的第一帧(第一帧)的代码。
import flash.events.MouseEvent;
stop();
if (sRP_mc.visible == true) {
sRP_mc.addEventListener(MouseEvent.CLICK, sRPClicked);
function sRPClicked(event:MouseEvent):void {
sRP_mc.removeEventListener(MouseEvent.CLICK, sRPClicked);
removeChild(sRP_mc);
gotoAndPlay(5);
}
}
if (dP_mc.visible == true) {
dP_mc.addEventListener(MouseEvent.CLICK, dPClicked);
function dPClicked(event:MouseEvent):void {
dP_mc.removeEventListener(MouseEvent.CLICK, dPClicked);
removeChild(dP_mc);
gotoAndPlay(10);
}
}
在第 5 帧,有一个关闭按钮,代码是这样的。
import flash.events.MouseEvent;
stop();
close_btn.addEventListener(MouseEvent.CLICK, closeScreen);
function closeScreen(event:MouseEvent):void {
gotoAndStop(1);
}
在第 10 帧上还有一个关闭按钮,代码是这样的。
import flash.events.MouseEvent;
stop();
close_btn.addEventListener(MouseEvent.CLICK, closeScreen2);
function closeScreen2(event:MouseEvent):void {
gotoAndStop(1);
}
如您所见,如果使用 removeChild 方法删除 sRP_mc 或 dP_mc,则 sRP_mc 和 dP_mc 不应该是可见的(.visible != true),但是当我玩这个时,它说 sRP_mc 和 dP_mc 始终可见,而孩子确实可见没有完全从舞台上移除(或者我认为每当我回到第 1 帧时,实例都会不断回来)。为什么要这样做,我将如何解决它?