GameMaker 日本語掲示板

予約語について

2 コメント
views
17 フォロー

今までなんとなく予約語のotherを使ってきましたが、いまいち機能がわかりかねます。衝突やらwithと使えるやら。
自分の解釈では、それを設定したobjの近場にある、ほかのオブジェクトがotherになるのか?という感じですが皆さんの解釈はどうでしょうか?

Lerp
作成: 2021/03/17 (水) 11:36:57
通報 ...
1

otherは特定のインスタンスを参照するキーワードで、
使う場面によって参照するものが変わり、使い方が変わります。

withブロックの中で使った場合
withブロックの外側のコードを実行しているインスタンスを参照します。
instanceAで下記のコードを実行した場合、instanceB.nameは"taro"になります。

name = "taro";

with (instanceB)
{
  name = other.name;
}



collisionイベントの中で使った場合
otherは衝突した相手のinstanceを参照します。
例えば、obj_playerのobj_enemyとのcollisionイベントでのotherは、playerと衝突したenemyインスタンスを参照します。
下記コードはplayerのhpからenemyのdamage値がマイナスされます。

hp -= other.damage



というのが私の理解です(collisionイベントは使わないのでよく知りませんが)。

2

共有ありがとうございます!イマイチwithとの併用がわからなくて自分のノートとにらめっこしていたのですが、asaさんの説明でやっと要領を得ました!otherが参照していたのはwithの外側のコードだったということを理解できてなったようです😳