シーン(field, menu, battle)の切り替えコードのMenuでの例
1.シーン開始時の処理
StartScene()
{
function StartSceneBody() {
$("#idMenuFade").css('display', 'block');
$("#idMenuFade").css('display','none');
Menu.OnFadeIn();
$("#idMenuFade").fadeIn(500, function() {
setTimeout("Menu.FrameOne()", this.kOneFrameTimeMs);
});
}
$("#idMenuFade").fadeOut(500, function()
{
StartSceneBody();
});
}
ここでゲームループ本体実行中!
2.OnCancel()などでシーン終了と次のシーンの設定を行う。
OnCancel()
{
if (MHIsDisappearItem()) {
if (typeof EndMenu == 'function') {
this.#doContinueMenu = false;
$("#idMenuFade").fadeOut(200, function() {
setTimeout("EndMenu()", this.kOneFrameTimeMs);
});
}
}
}
シーン終了時は「this.#doContinueMenu」によってsetTimeOut()をスキップし、フラグをtrueに戻して終了する。
this.#frameCount++;
if (this.#doContinueMenu) {
setTimeout("Menu.FrameOne()", this.kOneFrameTimeMs);
} else {
this.#doContinueMenu = true;
}
3.html内のスクリプトで次のシーンへ移行する。
function EndMenu()
{
Field.StartScene();
}