事件分配器

事件分配器 被调用时,也将执行实施事件且事件与事件分配器绑定的全部蓝图。换言之,事件分配器被调用时,与其绑定的所有事件也将被调用,以便从单一源同时执行多个事件。

此页面将说明如何设置事件分配器并将事件绑定到事件分配器。

在此例中,玩家按键后灌木丛中将出现火焰粒子效果。

此指南使用启用 新手内容Blueprint Third Person 模板。

  1. 内容浏览器 中的 Content/ThirdPersonBP/Blueprints 文件夹下,打开 ThirdPersonCharacter 蓝图

    EventD_1.png

  2. 点击 My Blueprint 窗口中的 Add Event Dispatcher 按钮并将其命名为 StartFire

    EventD_2.png

  3. 在图表窗口中 单击右键,添加一个 F 按键事件。

  4. StartFire 事件分配器拖入图表并选择 Call

    EventD_3.png

  5. F 按键事件和 Call StartFire 事件分配器连接起来。

    EventD_4.png

    F 键按下时,事件与此事件分配器绑定的蓝图也将被执行。

  6. 编译保存,然后关闭蓝图

  7. Content BrowserContent/StarterContent/Props 中,将 SM_Bush 蓝图拖入关卡。

    EventD_5.png

  8. 点击主工具栏的 Blueprints 按钮,然后选择 Open Level Blueprint

    EventD_6.png

  9. 在图表中 单击右键 并选择 Create a Reference to SM_Bush 节点。

    EventD_7.png

    此操作将在关卡中为 SM_Bush 创建一个引用。

    如画面中不存在上图列出的节点,在关卡中选择 SM_Bush 并重试。

  10. 在图表中 单击右键 并添加 Event Begin PlayGet Player Character 节点。

  11. Get Player Character 的引出连线后搜索并添加 Cast To ThirdPersonCharacter 节点。

    EventD_8.png

    这样我们便能访问 ThirdPersonCharacter 蓝图中的事件、函数、变量或属性。

    蓝图中的转换 文档中可查阅蓝图投射节点的更多内容。

  12. As Third Person Character 引脚的引出连线后搜索并使用 Assign Start Fire 节点。

    EventD_9.png

    此操作将新建两个节点,Bind EventCustom Event。在角色蓝图中调用事件分配器时,Custom Event 和与其相连的任意事件均会被执行(因它们与事件分配器绑定)。事件与事件分配器绑定的蓝图也将被执行。

  13. Custom Event 的引出连线后添加 Spawn Actor from Class 节点(Class 设为 Blueprint_Effect_Fire)。

  14. SM_Bush 的引出连线拉到 Get Actor Transform,将其用作 Spawn Actor 节点的 Spawn Transform

    EventD_10.png

    所有节点连接完毕后,图表外观和上图相似。

  15. 点击 Compile,关闭关卡蓝图,然后点击 Play 在编辑器中开始游戏。

    EventD_11.png

    按下 F 键后,火焰特效将出现在灌木丛中。

如需了解 事件分配器 使用和用例范例的更多内容,请查阅下方的 相关页面