2

次のコードは Unity 5.0.0p2 では間違っているようです:

rigidbody2D.velocity.x = Input.GetAxis("Horizontal") * 10;

そこで、次のコードを試しました。

GetComponent<Rigidbody2D>().velocity.x = Input.GetAxis("Horizontal") * 10;

しかし、まだ機能していません。次のようないくつかのエラー メッセージが表示されます。

  • BCE0043: Unexpected token: ).
  • BCE0044: expecting ), found '.'.
  • UCE0001: ';' expected. Insert a semicolon at the end.

コードの何が問題になっていますか?

4

2 に答える 2

4

rigidbody2D は MonoBehaviour のプロパティではないため、最初の行は機能しなくなります。これは削除されたため、GetComponent<Rigidbody2D>()代わりに a を使用する必要があります。

ただし、それで問題が完全に解決されるわけではありません。velocity値を設定するだけでは、あなたのように更新することはできませんx。完全なベクトルを割り当てる必要があります。したがって、現在velocityの Vector3 を独自の Vector3 にコピーし、ベクターx全体を更新して置き換えvelocityます。

于 2015-08-03T08:17:26.290 に答える