蓝图通信的四种方式

蓝图通信的四种方法:

1直接蓝图通信;2通过事件分配器通信;3使用蓝图接口通信;4使用蓝图投射通信。

1直接蓝图通信:

关卡中存在两个Actors,需要进行相互之间的通信。

2事件分配器:

事件分配器适用于告知其他“正在倾听的”蓝图已发生事件。事件发生时,正在倾听的蓝图便会做出反应,并相互独立地执行预期的操作。事件分配器被调用时,也将执行实施事件且事件与事件分配器绑定的全部蓝图。即,事件分配器被调用时,与其绑定的所有事件也将被调用,以便从单一源同时执行多个事件。

事件分配器何时使用呢?

a.需要从角色蓝图到关卡蓝图进行通信。

例如:玩家角色升级,需要开放之前锁定的区域。

例如:玩家角色按下行动按钮,对关卡执行某种操作。

b.生成的actor执行某种操作是触发事件。

例如:生成一个boss,boss被消灭时触发事件,在事件场景中生成一个奖励。

例如:在关卡中生成一个道具,并在道具被捡起时告知道具和角色。

个人理解就是事件分配器就是调用完成之后

3蓝图接口:

通过蓝图接口可以实现与多种类型对象(有共享特定功能或者有相似的功能)形成互动的一般方法。例如汽车和树是完全不同的两种对象,但拥有一个共同点---它们均可被武器开火集中并遭到破坏。

何时使用蓝图接口呢?

1.数个蓝图中存在一些相似功能,但在调用后执行不同的效果:

例如:玩家拥有一个“use”按钮,按下按钮后可执行开门,关灯,捡起道具等操作。

例如:敌人拥有特殊能力,可以基于玩家的体力值完成变化,执行不同操作。

4蓝图投射:

蓝图通信就算是使用Cast节点,使用Cast节点,就是在尝试检查发出转换的对象是否为被转换的特定对象。

何时使用蓝图投射呢?

a.需要访问另一个蓝图的特殊版本:

角色走进火焰中,导致体力值耗尽:投射到特殊的角色蓝图,以便访问并变更体力值。

角色死亡,需要重新生成:投射到特殊的游戏模式蓝图,执行重新生成脚本。

b.需要访问相同类的多个蓝图,并以相同方法进行修改:

场景中拥有数盏灯,事件发生时需要将他们开启或关闭。

例如投射到灯蓝图中并执行函数将灯关闭。

c.需要访问一个特殊的子蓝图:

存在基于一个动物蓝图(猫,狗,鸟)的数个蓝图,需要访问其中一个动物。

投射到猫、狗、鸟,访问相应的蓝图和特有功能。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,115评论 19 139
  • 1.ios高性能编程 (1).内层 最小的内层平均值和峰值(2).耗电量 高效的算法和数据结构(3).初始化时...
    欧辰_OSR阅读 29,698评论 8 265
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 11,249评论 6 13
  • 今晚和朋友吃饭,她不知道该不该接受追求者的爱意,理由无非是怕他失去新鲜感,怕两人不合适,怕他不真心。女人啊,心思太...
    又新阅读 219评论 0 0
  • > 攥紧拳头是没法播种的。 2017-05-18 ### 习惯养成清单 [x] 早起 5:20 起床 [x] 做一...
    文野_Colin阅读 197评论 0 0