1
目前我在屏幕上有一个立方体,现在它正在向前移动,但只有当我按下并释放键盘上的'd'键时。它像它没有足够快地更新。移动立方体的问题
if (Input.GetKeyDown("d")){
currentSpeed.x = 100;
rigidbody.AddRelativeForce(accelaration, 0, 0);
}
有什么建议吗?
感谢,
卡勒姆
目前我在屏幕上有一个立方体,现在它正在向前移动,但只有当我按下并释放键盘上的'd'键时。它像它没有足够快地更新。移动立方体的问题
if (Input.GetKeyDown("d")){
currentSpeed.x = 100;
rigidbody.AddRelativeForce(accelaration, 0, 0);
}
有什么建议吗?
感谢,
卡勒姆
这可能是工作,
if(Input.GetKey(KeyCode.LeftArrow))
{
transform.position+=-transform.right*speed;
}
if(Input.GetKey(KeyCode.RightArrow))
{
transform.position+=transform.right*speed;
}
if(Input.GetKey(KeyCode.UpArrow))
{
transform.position+=transform.forward*speed;
}
if(Input.GetKey(KeyCode.DownArrow))
{
transform.position+=-transform.forward*speed;
}
如果您正在寻找连续运动,使用'上Input.GetKey','GetKeyDown'只有火灾最初的按键。 – Jerdak
追加^评论,如果你在Update里面做这个,你应该用time.deltaTime乘以加速度(不是'a'btw),这样你的游戏就不是依赖于帧的。如果您在FixedUpdate中执行此操作,则不需要执行该操作,因为您正在处理与物理相关的操作(增加强制操作)。 – vexe
我注意到在场景图形强度足以导致帧率下降的相同键盘滞后(高达〜300ms)。 – Richard