事件分配器
事件分配器 被调用时,也将执行实施事件且事件与事件分配器绑定的全部蓝图。换言之,事件分配器被调用时,与其绑定的所有事件也将被调用,以便从单一源同时执行多个事件。
此页面将说明如何设置事件分配器并将事件绑定到事件分配器。
在此例中,玩家按键后灌木丛中将出现火焰粒子效果。
此指南使用启用 新手内容 的 Blueprint Third Person 模板。
在 内容浏览器 中的 Content/ThirdPersonBP/Blueprints 文件夹下,打开 ThirdPersonCharacter 蓝图。
点击 My Blueprint 窗口中的 Add Event Dispatcher 按钮并将其命名为 StartFire。
在图表窗口中 单击右键,添加一个 F 按键事件。
将 StartFire 事件分配器拖入图表并选择 Call。
将 F 按键事件和 Call StartFire 事件分配器连接起来。
F 键按下时,事件与此事件分配器绑定的蓝图也将被执行。
编译 并 保存,然后关闭蓝图。
在 Content Browser 的 Content/StarterContent/Props 中,将 SM_Bush 蓝图拖入关卡。
点击主工具栏的 Blueprints 按钮,然后选择 Open Level Blueprint。
在图表中 单击右键 并选择 Create a Reference to SM_Bush 节点。
此操作将在关卡中为 SM_Bush 创建一个引用。
如画面中不存在上图列出的节点,在关卡中选择 SM_Bush 并重试。
在图表中 单击右键 并添加 Event Begin Play 和 Get Player Character 节点。
在 Get Player Character 的引出连线后搜索并添加 Cast To ThirdPersonCharacter 节点。
这样我们便能访问 ThirdPersonCharacter 蓝图中的事件、函数、变量或属性。
在 As Third Person Character 引脚的引出连线后搜索并使用 Assign Start Fire 节点。
此操作将新建两个节点,Bind Event 和 Custom Event。在角色蓝图中调用事件分配器时,Custom Event 和与其相连的任意事件均会被执行(因它们与事件分配器绑定)。事件与事件分配器绑定的蓝图也将被执行。
在 Custom Event 的引出连线后添加 Spawn Actor from Class 节点(Class 设为 Blueprint_Effect_Fire)。
将 SM_Bush 的引出连线拉到 Get Actor Transform,将其用作 Spawn Actor 节点的 Spawn Transform。
所有节点连接完毕后,图表外观和上图相似。
点击 Compile,关闭关卡蓝图,然后点击 Play 在编辑器中开始游戏。
按下 F 键后,火焰特效将出现在灌木丛中。
如需了解 事件分配器 使用和用例范例的更多内容,请查阅下方的 相关页面。