当需需要从"蓝图类"中获取"另一个蓝图类"的事件或传值时,我们需要做以下这些事.
方案1 - 单纯的触发"自定义事件"
实现目地:每次关卡蓝图中的事件被调用,则同时也通知给某actor.
需要的材料:1个用蓝图类创建的actor实例
准备工作:新建一个工程 - 拖个"Cube"到场景中(成为实例) - 点击"蓝图/添加脚本"(回退成用蓝图类创建的actor实例) - 命名为"BP_Cube"
这样我们就有了一个可用蓝图操作的实例对象了.
然后我们要在此BP_Cube蓝图中添加一个"自定义事件",添加方法为鼠标右击蓝图空白处,在搜索框中输入"addc"你应该就能看到"添加自定义事件"了
我给它取名为"Receive_LevelEvent"接收关卡事件,后面连着一个PrintText判断是否生效(输出文本到屏幕查看)
https://forums.unrealengine.com/filedata/fetch?filedataid=125595&type=thumb
接着打开关卡蓝图,将"世界大纲"中的"BP_Cube"拖到关卡蓝图中 - 从"BP_Cube"引脚处拖放到空白处出现搜索框 - 输入"Receive_Lev"就能看到"调用函数"的分类下有一个"Receive_LevelEvent",
它就是"BP_Cube"中"Receive_LevelEvent"事件的触发器,再嘛大家就看图吧图中也有说明
https://forums.unrealengine.com/filedata/fetch?filedataid=125597&type=thumb
至此方案1教程结束
总结要点:"事件"need在"蓝图"中操作,“触发"need被触发的"对象实例”(发送给谁).
看到好多人不是复制就是翻译一下直接丢出来当教程,完全不用心让别人明白.
只好自己学明白后分享给大家
内容好像有点长了,其他方案我看看能不能"接楼"再发.