ゲームの進行状況などをローカルストレージに保存しよう

やっぱりゲームにはセーブ機能が欲しいよなぁ(´Д`)

という願いを叶えてくれるのがローカルストレージというブラウザが持っている機能です。このローカルストレージという機能がどういったものかっていうのはさっぱりわからんが、使えると大変便利な機能です。

例えばパズルゲームの進行状況を保存したり(何面までクリアしたか)とか、ハイスコアを記録させたりとか簡単にできます。

まぁローカルストレージの詳しい話はよそのサイトでしてもらうとして(^^;)、私はこんな感じに作りました(‘ω’)ノ

var Storage = enchant.Class.create({
    initialize: function(name){
        this.name = name;
        this.data = {};
    },
    delete: function(){
        window.localStorage.removeItem(this.name);
    },
    load: function(){
        var data;
        if(window.localStorage){//ローカルストレージ機能が使用可能なら
            data =  JSON.parse(window.localStorage.getItem(this.name));
        }
        if(data){//
            this.data = data;
        }
    },
    save: function(){
        data = JSON.stringify(this.data);
        if(window.localStorage){
            window.localStorage.setItem(this.name, data); 
        }
    }
});

適当な説明

Storageというクラスを作ってストレージを操作する処理を作っています。

各メソッド名そのままの機能です(^^;)

基本的にセーブとロードができればいいんですが、開発してるときにはデータを消したりする必要もあるのでデリートも出来るようにしてあります。

クラスを生成するときに引数にローカルストレージの名前を指定します。この名前でローカルストレージが読み書きされます。

dataはゲーム内容を保存するオブジェクトです。プログラム内ではここに好きなデータを保存します。ハイスコアを保存したいならhiscoreというプロパティを作って値を保存します。

JSON.○○○というのはローカルストレージがJSON形式で保存するためらしく、そのための変換処理を行う命令のようです。

サクッと簡単な説明でしたが、実際ローカルストレージはすごい簡単に使えます(*´ω`)ただしゲームの進行状況をどういう風に保存するかは自分で考えないといけないのでそっちが問題ですね(‘ω’)ノ

同カテゴリー記事

記事の感想・コメント

※コメントはまだありません※

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

新着記事

pixi.jsのspriteにはtintというプロパティがあります...

スマホ用ブラウザゲームでもバーチャルパッドで自由自在に操作したい!...

ブラウザゲームサイト用のwordpressテーマをBOOTHにて1...

レトロ風なゲームを作ろうと思った場合レトロ風な音楽も必要になります...

Typescriptでゲームパッドを使えるようにするやり方です。ブ...