var speed:float =7;
var transspeed:float =5;
function Start ()
{
}
function Update ()
{
if (Input.GetKey(KeyCode.W))
{
this.transform.Translate(Vector3.forward *Time.deltaTime * speed);
}
else if (Input.GetKey(KeyCode.A))
{
this.transform.Translate(Vector3.right *Time.deltaTime* -transspeed);
}
else if (Input.GetKey(KeyCode.D))
{
this.transform.Translate(Vector3.right *Time.deltaTime *transspeed);
}
else if (Input.GetKey(KeyCode.S))
{
this.transform.Translate(Vector3.forward *Time.deltaTime * -speed);
}
}
Unity里WASD移动时两键同时按,不能同时相应。求解决方法!!
答案:3 悬赏:50 手机版
解决时间 2021-03-19 21:58
- 提问者网友:活着好累
- 2021-03-19 12:43
最佳答案
- 五星知识达人网友:掌灯师
- 2021-03-19 14:12
把else if 写成if 如果还不行的话 只有在if(W)下面在加三个判断S A D的 同理,其他方向键也是加上其他案件判断。
全部回答
- 1楼网友:鱼忧
- 2021-03-19 16:17
全部修改为if!
- 2楼网友:低血压的长颈鹿
- 2021-03-19 14:44
public float movespeed = 1.0f;
void update ()
{
if (input.getkey (keycode.w))
{
transform.translate(vector3.up * time.deltatime * movespeed);
}
if (input.getkey (keycode.s))
{
transform.translate(vector3.down * time.deltatime * movespeed);
}
if (input.getkey (keycode.a))
{
transform.translate(vector3.left * time.deltatime * movespeed);
}
if (input.getkey (keycode.d))
{
transform.translate(vector3.right * time.deltatime * movespeed);
}
}
这个够简单吧。。。- -!
记得限定一下移动范围
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯