■ ファイルが置かれる場所はここ!
C:\Users\Administrator\AppData\Local\Project名
■ どんなセーブ機能がほしいのか?
・セーブ方法
星のカービィのように、ステージをクリアしたらその時点での進行状態がセーブされる形式。
・ロード方法
ゲームを開始して、タイトル画面をボタン押下で進んだら、セーブデータセレクト画面に移動する。
セーブデータを選ぶと、進行状態に沿ったステージセレクト画面に移動する。
■ セーブに関する技術について
動画【Advanced Saving System in Game Maker Studio 2 GMWolf】でやっていること。
★★とりあえず、動画内でやっていることは一通り実装できた。 ★★
Scriptに、[instance_get_save]というScriptを用意して、次のことをさせる。
instance_get_save.gml
引数1(おそらくインスタンスID)をintstanceに格納。
objectにinstanceのobject_indexを格納する。
グローバル変数save_mapの?objectの要素をvar_arrayに格納する。
変数mapにds_map_create()の戻り値を格納する。(ds_mapを生成してそのindexをmapに格納している。)
mapの?"object_index"個目の要素にobjectを格納する。
for文で0からvar_arrayの長さまで次の処理を実行する。
各回の処理では以下のことを行う。
nameに、var_arrayのi番目の要素を入れ、
valueにはvariable_instance_getを利用して、引数1(おそらくインスタンスID)からのインスタンスIDとnameから得られた要素を入れる。
mapのname番目にvalueを格納する。
そして、mapをreturnする。