unity3d中如何判断角色状态

我在脚本中写下了wasd控制人物移动的命令,又加入了一个检测e键使人物坐下的命令,但人物坐下后还会因wasd移动,请问怎么判断当前人物是否为sit状态,使wasd不控制人... 我在脚本中写下了wasd控制人物移动的命令,又加入了一个检测e键使人物坐下的命令,但人物坐下后还会因wasd移动,请问怎么判断当前人物是否为sit状态,使wasd不控制人物。 展开
 我来答
百度网友92ecd0f
2018-08-09 · 超过11用户采纳过TA的回答
知道答主
回答量:38
采纳率:100%
帮助的人:5.8万
展开全部
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; 。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式