void Update () {
float positionY = transform.position.y;
int speed = 5;
if(Input.GetKey(KeyCode.Space))
{
print ("Space pressed");
transform.position = new Vector3(transform.position.x,
positionY * speed * Time.deltaTime,
transform.position.z);
}
}
这是一个飞扬的鸟类型游戏,当我按空格键时,我正在使用此功能使角色跳跃,但是当我放开那个键时,角色的下降速度比最初下降的速度快得多,而且我越多按空间越快它就越快..
有人可以帮我吗?
答案 0 :(得分:0)
我假设你用重力使鸟落下。
你的代码所做的是通过将它的位置改为高于其先前的位置来移动它。然而,这只鸟在你向上移动之前仍然具有原始的速度。所以它继续下降。因为它不断下降,所以它会越来越快。
要解决这个问题,你必须在移动后将鸟类速度设置为零