少し問題があります。ゲームを開始する前に、「開始」、「ロード」、「終了」ボタンを含むメニューを作成しました。IntroScreen.as という名前の新しいクラスにあります。
そのため、エンジン クラス (Engine.as) は、シネマティックの直後に Introscreen を呼び出します。
private function ouvertureMenu(e:MouseEvent):void{
removeChild(opening);
introScreen.visible = true;
options.changeMusic(“”);
ここから完璧。
「ロード」ボタンをクリックすると、SaveRestore.as という名前の別のクラスが呼び出されます。このクラスには、保存と復元のためのすべての機能があります。したがって、ウィンドウの保存/復元が開きます。
しかし、ゲームを復元すると、saverestore ウィンドウは閉じますが、Introscreen は閉じません! (私のゲームがバックグラウンドでロードされていると聞きました)。
そのため、「復元」をクリックしたときに IntroScreen が表示されないようにしたいと考えています。
なぜ機能しないのかわかりません。そのように SaveRestore.as に「removeChild(introScreen)」を入れました。
…
// Restore game data
if(allSaveData){
puzzle.restorePuzzles(allSaveData.puzzleStatus);
inv.restoreInv(allSaveData.currentInv, allSaveData.allInv);
options.restoreOptions(allSaveData.optset);
Engine.newBack = allSaveData.playerLoc.room;
addEventListener(“repose”, reposePlayer);
stageRef.dispatchEvent(new Event(“changeBackground”));
showConfirm(“restored”, slotNum);
removeChild(introScreen);
dispatchEvent(new Event(“closeThis”));
} else {
trace (“No save data found”);
Engine.restoring = false;
}
何が問題になるか知っていますか?イントロ画面がまだ表示されている理由 (removeChild が機能していない) (私はALPACA オープン ソース コードを使用しています)