我在脚本中写下了wasd控制人物移动的命令,又加入了一个检测e键使人物坐下的命令,但人物坐下后还会因wasd移动,请问怎么判断当前人物是否为sit状态,使wasd不控制人物。
1 回答
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
bool sit = false;
void Update () {
if (Input.GetKeyDown(KeyCode.E)) {
//你自己的人物蹲下的动作
if (!sit)
{
sit = true;
Debug.Log("现在坐下了");
}
else {
sit = false;
Debug.Log("现在站起来了");
}
}
if (!sit) {
if (Input.GetKey(KeyCode.W)) {
transform.Translate(0,0,Time.deltaTime*2.5f);
}
//这里只有向前的,其他的可以自己写
}
}
我也是萌新,目前解决这个问题我的想法是给他加一个布尔值,再通过if语句判断布尔来决定是否执行.
这是我目前想到的一个方法,还有一个想法就是把wasd移动和蹲下分开脚本写,然后蹲下时把wasd脚本的enable=false; 。
- 1 回答
- 0 关注
- 1319 浏览
添加回答
举报
0/150
提交
取消