![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
こんにちは。
今、Flash8を使ってアドベンチャーゲームを作っています。
ゲームの内容が長めなので、ゲーム内の1日ごとにセーブポイントを設けようかと思っているのですが、調べてみてもいまいちよくわからなくて困っています。SharedObjectを使うのはわかったんですが・・・
1、「セーブする」ボタンで現在のタイムライン位置と、変数とその値を保存する。
2、「続きから」ボタンで保存した変数とその値を呼び出し、前回セーブしたところへジャンプする。
アクションスクリプトに詳しい方ご回答よろしくお願いします。
現在使用してるOSはWindowsXPです。
No.1ベストアンサー
- 回答日時:
_root(メインムービーのタイムライン)の直下に,
「continue_btn」と「save_btn」というインスタンス名を付けたボタンがあった場合,
_root
├ continue_btn(続きからボタン)
└ save_btn(セーブボタン)
_root の フレーム1 とかその辺りのフレームのキーフレームに,
次のようなスクリプトを書けば良いと思います。
-----------------------------------------
// とりあえず _root の再生を停止
_root.stop();
// SharedObject my_so を作成し saveData データを得る
var my_so:SharedObject = SharedObject.getLocal("saveData");
// 「続きから」ボタン continue_btn クリック時の動作定義
continue_btn.onRelease = function() {
// もし my_so 内データの frame_num 存在していなければ
if (my_so.data.frame_num == undefined) {
// _root を フレーム2 から再生
_root.gotoAndPlay(2);
} else {
// _root を my_so 内データの frame_num から再生
_root.gotoAndPlay(my_so.data.frame_num);
// ---
// my_so 内データの frame_num の値を出力(検証用)
trace("前回セーブしたフレーム番号="+my_so.data.frame_num);
// my_so 内データの hensuu の値を出力(検証用)
trace("前回セーブした適当な値="+my_so.data.hensuu);
}
};
// 「セーブする」ボタン save_btn クリック時の動作定義
save_btn.onRelease = function() {
//(_root の再生を停止(要不要は不知) )
_root.stop();
// my_so 内データの frame_num に _root の現在フレームを保存
my_so.data.frame_num = _root._currentframe;
// my_so 内データの hensuu に適当な値を保存
my_so.data.hensuu = Math.floor(Math.random()*100);
// ---
// my_so 内データの frame_num の値を出力(検証用)
trace("今回セーブしたフレーム番号="+my_so.data.frame_num);
// my_so 内データの hensuu の値を出力(検証用)
trace("今回セーブした適当な値="+my_so.data.hensuu);
};
-----------------------------------------
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- デスクトップパソコン ノートンが爆弾を残しているのか、Windowsディフェンダーが重いのかどっちなのでしょうか? 5 2023/05/06 12:01
- Google Maps パソコンの地図サイトなどで 3 2023/02/18 23:06
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- その他(ゲーム) アタリショックを起こしたクソゲー「E.T.」 どんな内容なら失敗しなかったか? 3 2023/05/07 09:33
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- その他(パソコン・周辺機器) ボタン数の多いゲームコントローラー、ゲームパッドを探しています 2 2023/08/17 16:29
- デジタルカメラ sony a7ii と 富士フイルムX-T2について 【sony a7ii】 数値変動・動画ボタンの 1 2023/03/21 01:14
- テレビ プレステ5が映らなくりました 1 2023/07/13 11:09
- モニター・ディスプレイ PCゲームで急にFPSが落ちました 2 2022/11/18 00:42
- Android(アンドロイド) スマホ chromeの戻るボタンが機能しにくい スマホ(OPPO reno5A、Android12) 1 2022/09/11 20:39
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vbscriptでウィンドウズメディ...
-
Gifアニメの再生について(検索...
-
Flashのタイムラインの中の、「...
-
オプションボタンを矢印キーで...
-
車の運転時のメガネ 縁なし(...
-
ソーラーパネルのアルミフレー...
-
Flashで右クリックメニューにつ...
-
Flashでの連打ゲームの作成方法...
-
VBで動的に作成したパネルの上...
-
gotoAndPlayで特定のフレームま...
-
外部テキスト読み込み、横スク...
-
○秒後にフレーム移動
-
WEBブラウザの重複起動の禁止
-
ハードディスク DVD 読み...
-
スクリプトが何に記述されてい...
-
リフレッシュ・レート、フレー...
-
ドキュメントサイズの変更
-
大元のタイムラインの変数を初...
-
再読み込みが可能なPDFビューワ...
-
簡単な連打ゲームを作りたい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
phpで音を鳴らす
-
FLASHでmp3プレイヤー
-
巻き戻しボタンを作りたいので...
-
Flashゲームのセーブ機能の作り方
-
vbscriptでウィンドウズメディ...
-
メディアプレーヤーで再生する...
-
yahooで画像検索すると
-
Gifアニメの再生について(検索...
-
エクセルで通知音
-
Flash swfのランダム再生
-
50秒後に2フレームへ行き再生開始
-
IEのActiveXコンポーネントにつ...
-
外部mp3のランダム再生について
-
複数のJavaScriptを順番に実行...
-
flashのBGMのoff/onボタン
-
WindowsMediaVideoをインライン...
-
パワーポイントにFLASHを埋め込...
-
webサイトに動画をはりつけ、ク...
-
フレーム内に移動したい
-
Flashで右クリックメニューにつ...
おすすめ情報