我试图让我的预制件以某种速度下降。现在它们被创造,然后重力作用于它,所以它开始慢,然后在空中建立。我希望它从创建之初就是一个恒定的速度。
我尝试过做一个AddForce,但这似乎不起作用。
void Wave1()
{
Debug.Log("Wave1");
delay = .5f;
Instantiate(smallFlame, new Vector3(drop1, dropHeight, 0), Quaternion.identity);
Instantiate(smallFlame, new Vector3(drop2, dropHeight, 0), Quaternion.identity);
Instantiate(smallFlame, new Vector3(drop3, dropHeight, 0), Quaternion.identity);
smallFlame.GetComponent<Rigidbody2D>().AddForce(new Vector2(0, fallSpeed), ForceMode2D.Impulse);
}
答案 0 :(得分:1)
只需在更新循环中添加它们的位置,而不是使用物理引擎。
void Update()
{
transform.position += Vector3.down * Time.deltaTime;
}
这将以固定的速率向下移动它所连接的任何对象。将其放入脚本中并将其添加到您要实例化的预制件中。
答案 1 :(得分:0)
我认为你应该将RigitBody2D的“重力比例”设置为零,以便接近smallFlame。这应该会停止加速。
向他们添加动画。使用Rigitbody2D.velocity