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

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

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

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

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

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形式で保存するためらしく、そのための変換処理を行う命令のようです。

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

どのゲームで遊ぶ?

ゲームではない。想像してください。壮絶な男たちの戦いを。。
ひったくり犯を追いかけるランゲー。道に落ちている障害物には気を付けて。
空いている一つのマスを利用して並び替えるパズルゲーム。
モバイル&対戦専用リバーシ。角を取ってみたら予想外に戦略が変わって面白い。

コメント欄

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

コメントを残す

メールアドレスが公開されることはありません。

ゲームタグ一覧

ゲーム開発書籍(amazon)

HTML5 ゲーム開発の教科書 スマホゲーム制作のための基礎講座
ゲームを作りながら楽しく学べるHTML5+CSS+JavaScriptプログラミング[改訂版] (Future Coders(NextPublishing))
改訂2版 はじめて学ぶ enchant.jsゲーム開発