# 蓝图专项研究-事件调用

# 常规通信

# 普通蓝图

一个蓝图要获取另一个蓝图的引用可以:

  1. 在该蓝图中创建另一个蓝图的变量,并指向。
  2. 在该蓝图中通过GetAllActorsOfClass来获取另一个蓝图的引用。
  3. 在该蓝图中直接生成要被引用的蓝图,在该类中对要引用的蓝图进行管理。
  4. 在被引用的蓝图中实现接口,在调用蓝图中通过接口也可访问被引用蓝图。
  5. UI在游戏中是经常访问的,通常把它们放在HUD中统一管理。UMG如果要访问场景中的东西要通过PlayerController访问,HUD也可以通过PlayerController访问。

关卡蓝图要获取其他蓝图引用除了上面的两种方法外,还能直接获取场景的reference。

# 序列器调用关卡蓝图

  1. 创建蓝图接口。

    CreateBlueprintInterface

  2. 创建蓝图接口函数。

    CreateInterfaceFunction

  3. 将蓝图接口添加到关卡蓝图中。

    AddInterfaceToLevelBlueprint

  4. 在关卡蓝图中实现蓝图接口。

    ImplementDetail

  5. 创建一个序列器,并在序列器中添加Event Track。

    AddEventTrack

  6. 编辑该Event Track。

    AddEventTrack2

    AddEventTrack3

  7. 设置该Event Track。

    EventTrackSetting

    如果还不能运行可以尝试勾选下上面的Call In Editor。

# GameMode事件绑定

  1. 在GameMode中创建EventDispatcher:

    CreateEventDispatcherInGameMode

  2. 在关卡蓝图中绑定事件:

    BindEventToGameMode

  3. 在Character中触发事件:

    CallGameModeEvent