0

我正在使用 c# 在 Unity 中开发一个突破风格的游戏,并且想知道随着时间的推移增加球的速度而不改变球与桨碰撞后行进的角度/方向的最佳方法是什么,所以我想要球以相同的方向/角度(例如 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 回答