鼠标控制门:通过玩家通过点击鼠标左键来控制门的打开关闭;
1.创建蓝图类和模型:
创建的方法如我的上一篇文章: 键盘控制门 <--戳这里
2.处理蓝图,事件图表
和键盘控制门不同的是,键盘控制门是当玩家靠近时按下E键就发生相应的事件,而鼠标按键触发的条件是:
1.玩家靠近门(进入盒体触发器区域)
2.按下鼠标左键
所以,鼠标触发模式就是在感应门的基础上加上鼠标点击,且顺序是:
玩家靠近门->按下鼠标左键->门开关
那我们点击的时候是点击门这个模型,所以要先给门添加点击事件
单击door,在右面找到“ 点击时” 或者 “ On Clicked”,点击加号
将上篇文章的按键E换成这个 “ On Clicked”
玩过第一人称,第三人称游戏的人都知道,鼠标是控制方向摇杆的,鼠标左键一般是攻击或者动作,所以在游戏中鼠标左键是不会单独分离出来,那我们怎么点击门?
首先回到我们的世界,点击窗口,找到 “ 世界场景设置”,会在右边细节旁边看到
正常玩家控制类的默认为playerController,因为他是一个C++类,所以我们不能直接改变,我们点击加号,创建一个C++类
创建完成后,在右侧找到Mouse Interface,将点击事件勾选
正常情况下将上面的显示鼠标光标也勾选,在场景中就会显示鼠标了,但是鼠标光标会一直在场景中,这不是我们想要的
我们想只有我们靠近门的时候,鼠标光标才出现,促使我们点击门来进行开关。
所以我们回到蓝图,加上这部分逻辑(当角色进入盒体触发器区域内时显示鼠标光标)
拖拽蓝点搜索“ Set Show Mouse ",选择 ” 设置 show mouse cursor“,打勾表示显示,不打勾表示不显示
然后如此连接:
总连接:
编译保存
一定要记得编译保存,不然不好使!
注意:
如果大家是在一个项目里做的一定要点保存所有
一般不点击 ” 保存当前关卡“,因为其只保存当前关卡的东西,但是咱们制作的蓝图类不只属于关卡,所以不会保存