したがって、最初のフレームに sRP_mc と dP_mc の 2 つのムービークリップがあります。ここで、ムービークリップのいずれかがクリックされると、ムービークリップがステージから削除され、フレームが変更されます (ムービーがフレーム 5 に移動するようにします)。フレーム 5 には閉じるボタンがあり、クリックするとフレーム 1 に戻ります (ただし、フレーム 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);
}
ご覧のとおり、sRP_mc または dP_mc が removeChild メソッドを使用して削除された場合、sRP_mc および dP_mc は表示されません (.visible != true)。ステージから完全に削除されません (または、フレーム 1 に戻るたびにインスタンスが戻ってくると思います)。なぜこれを行うのですか?どうすれば修正できますか?