0

オブジェクトのインスタンス ID を取得していますcollision_line()

image_angleこのインスタンスを取得したので、それを取得したいのですが、それを試みると「不明な変数」というメッセージが表示されます。

私は何をすべきか?

4

1 に答える 1

2

この collision_line()の値は? このcollision_line()関数はインスタンス ID を返しますが、何も見つからない場合はnoone( -4). を返します。そのため、最初にそれをテストする必要があります。

var inst, imgangle;
inst = collision_line(...);
if (inst != noone) {
    imgangle = inst.image_angle;
    //etc etc
}

または、(GM ではより明確に)withステートメントを「悪用」することもできます。With は、指定されたインスタンス ID の観点から (またはオブジェクト ID が指定された場合は、特定のオブジェクトのすべてのインスタンスに対して) 以下のすべてのコードを実行します。
ただし、値nooneは自動的に実行を防ぎます。

var inst, imgangle;
inst = collision_line(...);
with (inst) {
    imgangle = image_angle; 
    //note that we do no longer have to put "inst." before getting a variable
    //etc etc
}
于 2013-05-07T14:11:28.020 に答える