键盘控制门:通过玩家在键盘上按键来控制门的打开关闭,如“按E打开”;
1.创建蓝图类和模型:
创建的方法如我的上一篇文章: 感应门 <--戳这里
2.处理蓝图,事件图表
和感应门不同的是,感应门是当玩家靠近时就发生相应的事件,而键盘按键触发的条件是:
1.玩家靠近门(进入盒体触发器区域)
2.按下E键
所以,按键触发模式就是在感应门的基础上加上键盘输入,且顺序是:
玩家靠近门->按下E键->门开关
由此,就是在下面两张图中间加上新的逻辑
新增逻辑讲解:
1.首先获取玩家控制器,用于对角色的控制,右键搜索 “ 获取玩家控制器” 或者 “ get player controller”
player index【0】 代表第0个玩家,因为我导入的第三人称角色的编号是 0 ;
2.启用输入,表示可以输入,并且系统可以识别,右键搜索 “ 启用输入” 或者 “ enable input”
禁用输入,意义与启用输入相反,右键搜索 “ 禁用输入” 或者 “ disable input”
3.连接如图所示
意义:当玩家进入盒体触发器的时候玩家可以输入,当玩家离开盒体触发器区域的时候玩家禁止输入(输入无效),玩家不能在任何位置按E都能开关门
4.获取键盘按键E
右键搜索 “ E ” (在最下面,键盘个事件里,把滚动条滑倒最后,从下往上找,单独的字母E)
5.控制开关门:
右键搜索 “ gate”,相当于一个if
连接:
但是我们还有时间轴的部分,时间轴正流反流需要两个节点连接,而Gate只有一个Exit节点
这时我们需要一个 “Filp Flop”,
作用:两个节点,如果第一次走A,那么第二次就是B,顺序是ABABAB,正好符合我们门开关开关(门开完不能再开)
完整连接:
编译保存
将编译保存成功后的蓝图类按住鼠标左键拖拽到场景中
拓展:
大家可以自己试着做一下升降电梯,玩家站在平台上按下E键,平台上升,再按下E,平台下降,原理和开关门一样,只不过电梯改变的是位移,不是角度
事件图表:
效果: