昨天学习的俺按钮才能开门,今天进行了一点点的加深,那就是捡起钥匙后才能开门,和游戏里边的类似了,功能详细如下
在蓝图的左下方找到变量,创建一个布尔值的,取名为是否可以开门
然后我们在按钮的事件上,添加一个分支,如下
这样靠近门的时候,我们按E门就不会开了,同时在我们的屏幕左上方会提示没有权限.
接下来进入第二部,创建钥匙
和创建门一样,我们创建一个蓝图类,同样创建一个钥匙和一个触碰box.同样和创建门一样,使用开始重叠和结束重叠方法,同样获取玩家控制器和键盘等,因为我们靠近要是需要按某一个键捡起钥匙,所以逻辑和开门大似相同.
接下来就到了重点了,我们要在钥匙这个蓝图类,去修改刚刚上边在门那个蓝图类里边的那个布尔值
1 首先就是获取类的所有actor,然后在里边找到我们门的那个蓝图类的名字
然后就是get方法,get(0),然后找到我们设置的那个布尔值名字(具体为啥get0我不清楚,后续慢慢学),然后给这个变量赋值为true,这样一会我们过去的时候门就可以打开了,最后一步,捡起钥匙后,这个蓝图类应该消失,就跟游戏里边一样,然后就要销毁这个actor,这样整个蓝图类就做好啦.
最最最后添加一点点的额外的东西,那就是我想让这个钥匙一直在旋转,这样能有一点点的效果,经过别人得到知道,有两中方法实现.
第一种
事件tick,(每一帧都会运行)然后找到钥匙控件,给他设置一个相对旋转,这样就好了
第二种
在事件开始运行的时候,添加一个时间轴,时间轴的数值一直为3,然后让他循环,这样他就会一直对外输出3,然后在设置相对旋转,这样就好了.