【发布时间】:2016-02-07 21:20:32
【问题描述】:
我有一个球需要在一段时间内加速,但用力很小。我试图用 Time.deltatime 除以特定值来加速,但它不起作用。
这是我的代码示例(要开始游戏,您需要单击一下,球以恒定速度移动),我的问题是如何在一段时间内自动加速球。
void Start ()
{
Application.targetFrameRate = 60;
gameStart = false;
}
void Update ()
{
if (!gameStart)
{
if (Input.touchCount >= 1)
{
gameStart = true;
GetComponent<Rigidbody2D> ().AddForce (new Vector2 (1f, 0.5f) * force);
}
}
}
【问题讨论】:
-
你的方法对我来说似乎没问题,有什么问题?
-
还有一点,如果像这样在更新循环中将
gameStart设置为true,那么在整个程序中它只会被调用一次。您是否再次将其设置为 false 其他地方? :// -
我想一段时间后你会想要做这个加速,重复做这个你可能想使用这个函数docs.unity3d.com/ScriptReference/…
-
我知道这个程序只会被调用一次,因为目前的情况是球一直保持恒定的速度,但我想要一个在时间中逐步加速的球。
-
在下面查看我的答案
I want a ball which is step by step accelerating during time