这节分两部分, 一,如何将代码从关卡蓝图转到类蓝图中 二,如何在类蓝图中切换灯光 1,通过判断和灯的距离切换灯光 2,通过文本提示切换灯光
先看第一个问题,如何将代码从关卡蓝图转到类蓝图中 其实这个很好理解。关卡蓝图相当于main()函数,关卡蓝图中的事件图表相当于函数。 现在转到类蓝图中了,相当于从main()函数里转到成员函数里面了。
现在看第二个问题,如何在类蓝图中切换灯光 1,不通过文本切换灯光 这个在26节中有了,只是从main()函数转到成员函数中来了 看看以前的
直接拷贝到成员函数就OK了
再把灯光拖进来 从灯光拉线选择“切换可视性” 把聚光灯的渲染可视改为false,初始状态没光。
保存编译运行。 开始时距离灯比较远,所以灯灭。
离近后,开灯 再远离,关灯。 OK 现在我们来看第二个问题 2,通过文本提示切换灯光 其实,逻辑是这样的 (1)通过离灯光的距离判断是否能够输入 (2)过离灯光的距离判断是否显示文本 (3)如果能输入,则通过F键来切换灯光。
也就是说,文本只是提示作用,并不影响是否能够输入。
也就是说,一个逻辑流程,变成了3个流程
先看(1) 重叠包围盒时,就能够输入
不重叠时,就不能输入 谁来输入?PlayerContorller0,即当前玩家
到这时候,再输入F键,允许玩家控制器输入,就起作用,不允许就不起作用,
现在还有个文本切换显隐,靠近时显示文本,远离时隐藏文本,和灯光类似 将文本初始化为不可见,渲染->可视->false,调整位置和朝向
保存,编译运行
远离时,灯灭,文字不显示 靠近时,文本显示,灯灭 按F键,开灯 远离,灯亮,文本消失,按F键不起作用
靠近,回来按F键关灯 OK,就这样吧