GameMaker 日本語掲示板

別のオブジェクトの変数を参照する方法はありますか?

2 コメント
views
17 フォロー

タイトルの通りなのですが、Aというオブジェクトに設定された変数vspを、Bというオブジェクトで参照したいです。
なにか方法があったらご教授お願い致します。

program_suck
作成: 2023/08/05 (土) 11:26:47
通報 ...
1
asa 2023/08/05 (土) 12:11:38 修正

room中にobjAとobjBがあるとします。

objAが1つしかないなら、objBでobjA.vspと書いて参照できます。
with (objA) vsp でも参照できます。

objBで

show_debug_message(objA.vsp); // 値がoutputウィンドウに出力されます


objAが複数あるなら参照したい1つを特定しないといけません。
1つを特定してそのインスタンスidを取得することで参照できるようになります。
objBにおいて、条件を満たすobjAのインスタンスIDを変数instに入れてinst.vspで参照できます。
with (instanceid) vsp でも参照できます。

objBで

inst = instance_place(x, y, objA); // ここではobjBと重なるobjAのインスタンスIDを取得
show_debug_message(inst.vsp); // 値がoutputウィンドウに出力されます
2

ありがとうございます!