私はブラウザゲームを作っており、私のプロジェクトの関連部分はこのように設定されています。 ゲームロジックという名前のGameという名前空間が1つあります。 私は、キーの押下を処理するMain(後で変更されるかもしれない)と呼ばれる別の名前空間と、プログラムの制御フローを持っています。私の男はrepeatingFuncに死亡した場合に簡略化が関数の一部だけをもう一度実行する
const init =() => {
func1();
func2();
func3();
setInterval(repeatingFunc, 100);
};
のようになりますならば、私は間隔をクリアし、ゲームオーバーですゲーム内
、私は(関数initを持っています)。主に は、私はゲームは、ユーザーがゲームオーバーになった後、再び開始するために、任意のキーを押すように促すメッセージが表示されます
document.onkeydown = (event) => {
const keyCode = event.keyCode;
if (Game.getIsGameOver() === true) {
Game.setIsGameOver(false);
Game.resetValues();
Game.init();
}
if (Game.getIsPlaying() === false) {
Game.setIsPlaying(true);
}
// More code that handles key presses, etc
}
のようなものを持っているし、キーが押された場合、Game.init()が呼び出されます。
私の質問は以下の通りです。ページが最初にロードされたとき、すなわち最初のゲームの後のすべてのゲームについて、最初の呼び出しを除くGame.init()へのすべての呼び出しに対して、私はfunc1()を実行したくありません。 func1()は、ページが初めて読み込まれたときに必要なものであり、その後のゲームの再起動では決してないとします。 func1()以外のすべてのinit()を再度実行するにはどうすればよいですか?
編集:もちろん、func1()をメインから取り出して、一度呼び出されるだけの関数に入れてもいいですが、別の方法がありますか?