unity与C#的故事1_2——input的冲突输入
今天我在使用代码控制动画的播放时遇到了一个小问题,大家都知道,就算是小问题,在编程上也能掉一大堆头发,今天给大家分享一下,希望后面不犯这样的错!
首先看问题
if(Input.GetKeyDown(KeyCode.J))
{
Debug.Log("j");
}
if (Input.GetKeyDown(KeyCode.J)&&Input .GetKeyDown(KeyCode.K))
{
Debug.Log("jk");
}
上面的代码就是一个例子,就以我的动画播放为例,想要按J键控制向前,又想在同时按JK后奔跑,但是想这样的代码控制,后台只会运行第一个,也就是输出
按照我的思考,应该就是在输入冲突是系统默认的第一个执行的代码
解决方法
当然,这个问题有很多解决方法,简单的方法是,多设一个布尔变量,通过这个变量来控制if的条件就可以了。还由其他方法,夜深了我也没去想,上面那个简单的方法在代码量多的时候会比较麻烦,如果有更好的方法,可以评论区分享出来!