0

Unity で C# を使用してブレイクアウト スタイルのゲームに取り組んでおり、パドルと衝突した後にボールが移動する角度/方向を変更せずに時間の経過とともにボールの速度を上げる最良の方法を知りたいので、ボールが必要です同じ方向/角度 (たとえば 45 度) に移動します。

まず、パドルの左側にあるボックス コライダーに取り付けられた以下の簡単なコードを使用して、ボールを左に移動させます。これで角度は正しくなりますが、時間の経過とともに速度を上げたいと思っていましたが、方法がわかりません。

void OnCollisionEnter2D(Collision2D col) {

  if (col.gameObject.tag == "ball") {
       col.gameObject.GetComponent<Rigidbody2D> ().velocity = new Vector2 (-10f, col.gameObject.transform.position.y);
     }
} 
4

1 に答える 1

1

ベクトルに速度変数を掛けるという最も基本的な解決策を試すのを忘れただけです。これは、私が求めていた意図した動作を行います。

col.rigidbody.velocity = new Vector2 (-10f, col.gameObject.transform.position.y) * speed;
于 2016-09-22T00:20:33.490 に答える