enchant.jsでゲーム終了後リトライ機能をつける

ゲーム終了後に再度遊べるようにするリトライ機能の実装方法について。

公式のドキュメントに記載がないので
location.reload()
で読み込みをリセットしていたのですが、
画面が反転する、リロードに時間がかかるなど
あまりいいやり方ではないので解決策を探してました。

proper way to restart? #249

You can create the new scene that provides game rules on each restarting.
For example,

function createGameScene() {
    var scene = new Scene();
    return scene;
}

// call when you need restarting
function restart(core) {
    core.replaceScene(createGameScene());
}

core.onload = function() {
    restart(this);
};

onloadの部分を加工してあげて、
毎回シーンのクロージャをcreateGameSceneで
生成してあげるようにすれば簡単にリロードが実装できるみたいです。

リスタートボタンを作ってその中でrestart(core)してあげるだけです。
(他のドキュメントに合わせるならcoreをgameに読み替えます)

こうすることでグローバルに依存した変数とかがなければ
まっさらな状態でスムーズにゲームをリセット出来るようになります。

Mon, 8 Sep 2014 04:29:09 +0000   |   Category:Javascript

関連記事

About Me

kimihiro-n

Androidアプリを中心にいろいろアプリ作ってます。
T N G

Products

放課後アプリ部
放課後アプリ部
個人アプリ開発者のための集客プラットフォーム作りました。 AndroidやiOSアプリのダウンロード数増加を無料で手伝います!

最速のJSON可視化・解析ツール
JSONを使った開発をスムーズにするためのツールです。 特定の値までのパスを簡単に取れます。
過去に作ったiOSアプリ
明日から本気出すタスク管理 for iOS
過去に作ったAndroidアプリ
明日から本気出すタスク管理 for Android Nagareboshi taplight
Others..

Search Articles