全部公式のヘルプに書いてありますが、
GameMaker Studio 2(GMS2)を使っていて、
個人的にこういう風に理解したつもりという忘れないためのメモ
spr_name = asset_get_index("spr_syuzinko");
spr_nameに"spr_syuzinko"という文字列のスプライトインデックスが代入される
コードを書いてるとき、ただspr_syuzinkoって書くと表示は文字列ぽく見えるけれど
実際の中身はスプライトのインデックス(数字)なので、
文字列を使ってスプライト・オブジェクトなどを読み込みたい場合はこれを使う
作ったメッセージ表示システムは、
テキストに表示させる顔グラを書いて設定するように作ったので、最初これを知らなくて困った
re = Mssage_script("あいうえお~");
Mssage_scriptというスクリプトを呼び出す
()の中にはスクリプトのコードで設定した引数を書く
/// @desc Mes(messge);
/// @arg message
ちなみにreにはMssage_scriptのreturnで渡された数値が代入される
スクリプトはreturnで終了してしまうのでそれ以降のコードは実行されない
return argument1;
script_name = Message_script;
arg = "あいうえお~";
script_execute(script_name, arg);
Message_scriptという名前のスクリプトが呼び出される
二つ目以降には設定した引数を書く
hoge = true;
createイベントで定義しておいて使うことができる
同じインスタンス内ならDraw,Stepどのイベントからでも使える
インスタンスがdestroyなどで破棄された時に破棄
var piyo = 123;
一時的な変数
定義されたコード内でのみ使える
コードが一周する度に破棄
global.moge = "hoge~";
別のオブジェクト・スクリプトどこからでも使える変数
定義された時からゲーム起動中はずっと残ってる
ゲームを終了・リセットすると破棄されてると思う
キャラクターの画像やメッセージウィンドウやカーソルとかゲーム中に使う画像
アニメーションのフレーム、当たり判定の元になるマスクとかも設定できる
コードなどを書いておくことができるもの マップに置かないと処理が始まらない
オブジェクトに使うスプライト、どのマスクを使うかなど設定できる
通常はマップが変わると元のマップにあったオブジェクトは破棄されて処理が止まるけど、
マップをまたいで処理し続ける設定のチェックボックスがある
オプジェクトを設置するとした数だけインスタンスが生成される
一意のIDが割り当てられていて、変数も独立している
マップにはインデックスで参照できるインスタンスのリストがある
インスタンスのインデックスを使って個別に変数をいじれる
インスタンスが生成される度に割り振られる一意の数字(100030みたいなのとか)
マップにあるインスタンスの数によって変わるので、同じオブジェクトのインスタンスでも同じになるわけではない
通し番号みたいな感じ
インスタンスのリストの番号 インデックス[1]のインスタンスのIDは?とか参照できる
inst_id = instance_id_get(1);
inst_idにindex[1]のインスタンスのIDがに代入される