





2011-01-16

脱出ゲーム(Flashゲーム)のセーブ機能が作れたお!
やっっっっとできたよ!全人類の憧れのセーブが!
Flashゲームの作り方や脱出ゲームの作り方は色んなサイトに載ってるのに、セーブの作り方を載せてるサイトはほぼ皆無でした。
唯一と言っていいサイトが以前あったのですが、infoseekの無料版が10月31日で終わったため、消えてしまいました…。
というわけで、ここで紹介しておきます。
果たして見てくれる人はいるのでしょうか。
・今回は「脱出ゲームで洗面器というアイテムを取り、それを取ったかどうかを保存する」を例にして紹介します。
・グレーの部分は好きな名前に変えて使ってください。
・ここで説明するActionScriptのバージョンは1.0か2.0です。
・ここで説明するスクリプトはすべてタイムラインに書きます。
まず下準備として以下を書きます。
------------------------------------------------------------------
var save = new Object();
var save = SharedObject.getLocal("escapeGame");
------------------------------------------------------------------
好きな名前のObjectクラスを作って、それをSharedObject.getLocalにすると、パソコン内に値を保存できる場所ができるみたいです。
今回は「save」という名前にしました。このあと何回も使います。
「escapeGame」の部分の名前はここでしか出てこないので、そんなに気にしなくてもいい…はず。
次にはセーブボタンを押したときの処理、すなわちセーブの動作を書きます。
------------------------------------------------------------------
__root.save.data.getSenmenki = _root.getSenmenki;
------------------------------------------------------------------
さっき作った好きな名前のSharedObjectのあとに「data」と書くと、dataの右側には好きな名前の変数を設定でき、同時にパソコンの中に値を保存します。
↑これは、セーブデータ内の「getSenmenki」(洗面器というアイテムを取ったかどうかをtrue/falseで表す)を、Flash内の「getSenmenki」と同じにする、
つまり、これがセーブをするということです。
…セーブはこれで完了です。意外と簡単ですね。
あとはいろいろ応用すれば実用的なセーブ機能になると思います。
たとえばdata内に配列(Array)を作ってアイテムをまとめて管理したり…。
おっと、ロードも説明しなきゃ。
------------------------------------------------------------------
_root.getSenmenki = _root.save.data.getSenmenki;
------------------------------------------------------------------
さっきのセーブ行為が逆になっただけです。Flashの方をセーブデータに合わせます。
♦おまけ♦
↓
↓
↓
