UE4学习笔记12——【蓝图】类型转换,自定义事件(比较粗略,看看其他资料)

  • P36. 什么是蓝图通信和自定义事件
  • P37. 什么是类型转换
  • P38. 创建自定义事件+设置角色移动速度
  • P39. 调用自定义事件+实现触发加速
  • P36.

(这一大节课要实现的功能:角色到达某个区域后移速发生变化)

  • 什么是蓝图通信

多个类之间产生联系,发生关系

  • 什么是自定义事件

在虚幻引擎里,我创建一个自定义事件,它有了名字;如果我一直不叫这个名字(不调用),它就没用;

如果我叫了它,它响应了自定义事件,自定义事件时候的逻辑就会触发。(我叫了你,你执行)(这解释,额...)

  •  P37. 什么是类型转换

在“内容浏览器”空白处,右键 “蓝图类——Actor”(添加一个“触发盒子_BP”)

在蓝图类编辑界面中,添加“Box collision”;在这个“box”的“细节”里添加“组件开始重叠时”和“组件结束重叠时”

(事件图表)“组件开始重叠时——Other Actor”连出一条线,添加(工具——类型转换——)“类型转换为ThirdPersonCharacter”

(类型转换的作用:1. 蓝图通信 2. 针对性;比如类型转换和触发盒子相连,其他类型“触发”了触发盒子,它是不会生效的)但是如果没有触发成功也可以执行相应的操作

  

这节课的蓝图情况(总体未完待续):

  

  • P38. 创建自定义事件+设置角色移动速度

打开“ThirdPersonCharacter”的蓝图类(我的在 默认界面的“内容浏览器”的“内容——ThirdPersonBP——Blueprints”里)

(蓝图类编辑界面)左侧“我的蓝图”,点图表右边的加号,新建一个新的图表 命名为“触发加速”

  

在这个新的图表中,(添加事件——)“添加自定义事件”,命名为“触发加速_Event”;

在左上角“组件”中单击“角色移动”,右侧“细节”搜索“walk speed”,把“最大行走速度”改为375;

  

将组件“角色移动”拉到“触发加速”图表中,从“角色移动”拉出一条线,添加“设置 max walk speed”(搜索“set max walk speed”)

  

这节课的蓝图情况(总体未完待续):

  

  • P39. 调用自定义事假+实现触发加速

在“触发加速_BP”蓝图类编辑器里,从节点 “类型转换为ThirdPersonCharacter” 的 “As Third Person Character” 连出一条线,添加节点“触发加速_Event”(上P建的那个东西)

最终事件图表的情况:

  ThirdPersonCharacter,:“触发加速”图表:

  

  触发加速_BP 中的事件图表:

  

(已解决;QQ群有人说就是这样的)存在的问题:当玩家出生点一开始就在“加速带”时,并没有加速的效果;当玩家从加速带出生点出去再进来 或 玩家出生点就在加速带外时,进入加速带有加速效果)

posted @ 2022-10-26 14:46  我会变强的  阅读(1524)  评论(0编辑  收藏  举报