Flashの超基本的な質問はここでしろ! part38

このエントリーをはてなブックマークに追加
556Now_loading...774KB
flash MXで
今アドベンチャーゲームを作っているのですが、
オートスキップなどは自作で作れたのですが、
どうしてもセーブとロードだけが作れません・・


特別なスクリプトなどは使わず
フレームレートでつくった単純なアドベンチャーなので

セーブボタンを押すと現在のフレーム数でセーブ
ロードボタンを押すとセーブしたフレーム数からゲームスタート

みたいな簡単なセーブとロードを作りたいです。
どなたかご教授お願いします・・・
557Now_loading...774KB:2008/08/21(木) 11:33:16 ID:Bele2r4S
>>555
どうなっているって、独自のライブラリがあるって自分でいってるじゃない。
>ASであんな変形フィルタを作れたとして、あんなスピードで動いてくれるもんでしょうか?
動くんだからしょうがない。

>>556
SharedObject
558Now_loading...774KB:2008/08/21(木) 12:32:39 ID:MwxFh18e
S>>557様情報ありがとうございます

こちらもセーブを作るにはharedObject を使うということは、
方々で検索した結果、なんとなく把握はしているのですが、
そこから先に進めないのです・・・

例として
フレーム1にロードボタンがあり
フレーム10にセーブボタンがあって
一度フレーム10まで進みセーブボタンを押せば、
次からはフレーム1のロードボタンを押すことで10から進めることが出来る。

このようなボタンを作りたい場合は
フレーム1のロードボタン
フレーム10のセーブボタンにどのようなアクションスクリプトを
打ち込めばいいのでしょうか。
是非お教えいただけないでしょうか
559Now_loading...774KB:2008/08/21(木) 14:06:57 ID:wTgI0bZY
>>558
mxならヘルプでSharedObjectで検索すりゃサンプルコードぐらい出てくるだろ
560Now_loading...774KB:2008/08/21(木) 14:12:45 ID:wTgI0bZY
>>554
まずは固定リテラルで表示されるかどうか確認してみ
561Now_loading...774KB:2008/08/21(木) 14:25:56 ID:v9zq8jJi
>>558
知識が少なそうだから、段階を踏んでやらないと無理っぽいな。

とりあえず、現在何フレーム目にいるのかはわかるのか?
ボタンを押したら、任意のフレームにとぶことはできるのか?
562Now_loading...774KB:2008/08/21(木) 15:12:32 ID:MwxFh18e
>>561
ボタンを押したら、任意のフレームにとぶ等の
アクションはつくることが出来ます。
フレームは常時ストップをかけていて、
会話を進ませる(ページをめくる)たびに、
on (press) {

//Movieclip GotoAndStop Behavior
this.nextFrame();
//End Behavior

で1フレームずつ進んでいく感じです。

ボタンを押すことで好きな会話先に飛ばす
(DVDの映画のムービークリップみたいなものは)
自分でも作る事が出来るのですが、
最初からすべてのシーンに移動できては
それではセーブにはならないので、
「自分がセーブした場所にのみ、
移動することができる」
このような、ボタンが作りたいのです・・。

559様からご指摘をいただきましたので、
もう少し粘ってみて、それでも分からなかった際は、
現状のデータをアップロードするなりして
皆さんから再度コメントをいただきたいと思います。
作ってるゲームがエロゲーなのでその点は忍びないですが・・

563Now_loading...774KB:2008/08/21(木) 15:43:05 ID:xyWwilAq
>>562
作り終わったらこのスレに投下する事だけは忘れるな
言いたいのはただそれだけだ
564Now_loading...774KB:2008/08/21(木) 16:11:55 ID:Bele2r4S
>>562
>作ってるゲームがエロゲーなので

そこをはやくいってもらわないと困る。
565Now_loading...774KB:2008/08/21(木) 16:27:00 ID:Bele2r4S
とりあえずこれでいいでしょ。

//LOAD
shrObj = SharedObject.getLocal("Savefile");
if (shrObj) {
savedata = shrObj.data;
_root.gotoAndStop(savedata.frameNum);
}

//SAVE
var shrObj = SharedObject.getLocal("Savefile");
if (shrObj) {
savedata = shrObj.data;
savedata.frameNum = _root._currentframe;
}
so.flush(1000);