オブジェクトが停止している時〇〇したい、オブジェクトが動いている間は○○したいというシチュエーションあると思います。
プレイヤーオブジェクトであれば、移動キーの入力処理を受け取ったタイミングで処理を行う等で対応できますが、他のオブジェクトではどうでしょうか。
簡単な方法として、 RigidBody のメソッドを使う方法が挙げられます。
RigidBodyがアタッチされたオブジェクトであるならば、IsSleeping()メソッドを使用することで、停止状態を判定できます。
1 2 3 4 5 6 7 8 |
if (GetComponent<Rigidbody2D>().IsSleeping()) { // do something } else { // do something } |