【发布时间】:2021-03-10 20:57:36
【问题描述】:
基本上我正在尝试为我的自上而下的 RPG 风格游戏创建一个滚动系统,但是当我执行 Vector3.Lerp 时,它并没有完全移动
代码是:
public void CheckSpaceKey()
{
if (exhausted == false)
{
if (Input.GetKey(KeyCode.Space) && canRoll)
{
if (rollDir == RollDir.Up)
{
Vector3 rollStartPos = new Vector3(transform.position.x, transform.position.y, -1.0f);
Vector3 rollEndPos = new Vector3(transform.position.x, transform.position.y + 3, -1.0f);
transform.position = Vector3.Lerp(rollStartPos, rollEndPos, Time.deltaTime);
canRoll = false;
playerStats.stamina -= 10;
Invoke("RollCooldown", 1.5f);
}
}
}
}
public void RollCooldown()
{
canRoll = true;
}
这应该让我的玩家向上移动 3 个单位,但它实际上是移动了一个 0.35 到 0.45 左右的随机数。
CheckSpaceKey 也在更新中被调用
【问题讨论】: