ひっと

ActionScript SharedObjectでデータを保存する

~ Flashアプリ、ゲームのためのAS3サンプルプログラム集 ~

データの保存にSharedObjectを使う



Flash版クッキーといいますか。
SharedObjectを使うとローカルマシンにFlashアプリのデータを保存することが出来ます。
データを自動保存してくれるフラッシュゲームも、これ使ってるのかな?

プログラミング例


package
{
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.net.SharedObject;
    import flash.text.*;

    public class Main extends Sprite 
    {

        public function Main():void 
        {
            var myShareObj:SharedObject = SharedObject.getLocal("flashCookie");

            if ( myShareObj.data.lookCount != undefined ) {
                //dataにアクセス回数の定義があったら、一つ足す。
                myShareObj.data.lookCount += 1;
            } else {
                //dataにアクセス回数の定義がなかったら新たに作る。
                myShareObj.data.lookCount = 1;
            }

            var t:TextField = new TextField();
            t.text = myShareObj.data.lookCount.toString()+" 回目のアクセスです";
            t.x = 125;
            t.y = 140;
            t.width = 150;
            t.height = 20;
            addChild(t);

        }

    }

}

データの保存場所

WindowsXPの場合、共有オブジェクトファイルは
C:\Documents and Settings\ユーザー名\Application Data\Macromedia\Flash Player\#SharedObjects
に作られます。

さらにこの下にドメインとアプリのファイル名などで分類されて管理されてます。
探してみると"flashCookie.sol"というファイルが作られていました。



改ざんに注意!!
ファイルはバイナリデータですが、暗号化されてませんので
バイナリエディタで見ればパラメータの名前や値が容易に判ってしまいます。

改ざんされて困るデータはあらかじめ暗号化するかサーバーで管理するほう良さそうです。
目次へ
52888