当我跳跃时角色下降的速度比它上升的速度快,我怎样才能改变下降速度?
Character falls faster than it rises when I jump, how can I change falling speed?
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);
}
}
这是一个飞扬的小鸟类游戏,我使用这个功能让角色在我按下 space 时跳跃,但是当我松开那个键时,角色下落的速度比原来快得多最初下降,我越按 space 它下降得越快..
有人可以帮我吗?
我假设你利用重力让鸟掉落。
您的代码所做的是通过将鸟的位置更改为高于其先前位置来向上移动鸟。但是,这只鸟仍然具有您将其向上移动之前的原始速度。所以它一直在下降。因为它一直在下落,所以它会越来越快。
要解决这个问题,你必须在向上移动后将鸟的速度设置为零
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);
}
}
这是一个飞扬的小鸟类游戏,我使用这个功能让角色在我按下 space 时跳跃,但是当我松开那个键时,角色下落的速度比原来快得多最初下降,我越按 space 它下降得越快..
有人可以帮我吗?
我假设你利用重力让鸟掉落。
您的代码所做的是通过将鸟的位置更改为高于其先前位置来向上移动鸟。但是,这只鸟仍然具有您将其向上移动之前的原始速度。所以它一直在下降。因为它一直在下落,所以它会越来越快。
要解决这个问题,你必须在向上移动后将鸟的速度设置为零