2013-08-24 21 views
1

目前我在屏幕上有一个立方体,现在它正在向前移动,但只有当我按下并释放键盘上的'd'键时。它像它没有足够快地更新。移动立方体的问题

if (Input.GetKeyDown("d")){ 
      currentSpeed.x = 100; 
      rigidbody.AddRelativeForce(accelaration, 0, 0); 
     } 

有什么建议吗?

感谢,

卡勒姆

+0

如果您正在寻找连续运动,使用'上Input.GetKey','GetKeyDown'只有火灾最初的按键。 – Jerdak

+0

追加^评论,如果你在Update里面做这个,你应该用time.deltaTime乘以加速度(不是'a'btw),这样你的游戏就不是依赖于帧的。如果您在FixedUpdate中执行此操作,则不需要执行该操作,因为您正在处理与物理相关的操作(增加强制操作)。 – vexe

+0

我注意到在场景图形强度足以导致帧率下降的相同键盘滞后(高达〜300ms)。 – Richard

回答

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; 
    }