我正在使用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);
}
}
答案 0 :(得分:1)
我只是忘了尝试最基本的解决方案,即将Vector乘以速度变量,duh !.这符合我追求的预期行为。
col.rigidbody.velocity = new Vector2 (-10f, col.gameObject.transform.position.y) * speed;