【发布时间】:2021-05-07 21:10:32
【问题描述】:
我对编码很陌生。直到现在我搜索了很多东西,但我仍然无法解决我的问题。我正在尝试使游戏对象遵循线/图。我试图给他一个负 Y 速度,并在每次更新时添加小数字(类似于;update{mybody.velocity += 0.005})以使其移动。但是我遇到了一个问题,即在低帧速率下我的对象走的是一条超宽的路径,而在更高的帧速率下它走的是一条超紧的路径。我怎样才能让我的动作独立。
private float curve = 0;
private float curvemax = 2.3f;
[SerializeField]
private float curveupdate = 0.05f;
if (tracking.found && !hareketeBaşlandı)
{
curve = -(curvemax);
triggered1 = true;
hareketeBaşlandı = true;
print(curve);
}
if (transform.position.y != y1-curvemax && tracking.found)
{
curve += curveupdate;
print(curve+"Curving");
}
if (curve >= (curvemax))
{
curve = 0;
y2 = transform.position.y;
transform.position = new Vector3(transform.position.x, y1, transform.position.z);
tracking.found = false;
tracking.shouldsearch = false;
StartCoroutine("trackCD");
print("track off");
myBody.velocity = new Vector2(myBody.velocity.x, curve);
hareketeBaşlandı = false;
}
【问题讨论】:
-
我在 Unity 上工作不多,但
Time.deltaTime可能是您想要的? -
我几乎可以肯定我可以用关键字 Time 来解决它,我尝试使用 Time.deltaTime 但似乎我无法让它工作。
标签: c# unity3d game-physics