インスタンスの変数へのアクセス
インスタンスの変数のアクセス2種類ある
オブジェクト名を指定してアクセス
インスタンスのidを指定
あるオブジェクトのインスタンスがgameの中で1個しかない場合
アクセスの指定の違いはない
code:gml
show_message(obj_foo.x)
show_message(instance_id.x)
あるオブジェクトのインスタンスがgameの中で複数ある場合
オブジェクト名を指定するとオブジェクト全体(複数のインスタンス)を対象にする
アクセスの書き方にも違いが発生する(以下で説明)
インスタンスのidを指定すれば、1つのインスタンスを指定できる
code:gml
with(obj_foo){
show_message(x) //†1
x = 300 //†2
}
†1: ゲーム内に存在するobj_fooのインスタンスそれぞれに対してよばれる。
†2: 同様にobj_fooのインスタンスのxを300にする
この方法では、get , set もそれぞれのインスタンス
code:gml
show_message(obj_foo.x)//†1
obj_foo.x = 300 // †2
†1: ゲーム内に存在するobj_fooのインスタンスのどれか(若いid?)がよばれる
†2: obj_fooのインスタンスのxを300にする(すべてのインスタンスに対して)
この方法では、get は特定のインスタンスで、 setはすべてのインスタンスになる