003草稿 UE笔记[2024 0607] 排版于0826

蓝图函数库和宏库

蓝图函数库

大白话说一下,就是因为两个蓝图里,在其中一个蓝图中创建的函数,不能在另一个蓝图里应用,但是一般蓝图又很多,所以有了这个函数库,将相同的函数在里创建,对所有蓝图公开使用。

蓝图函数库不能拥有任何实例变量。不能保存状态或数据,因为它目的是提供通用的、静态的功能。

假设创建了一个名为 MyFunctionLibrary 的蓝图函数库,并在其中定义了一个名为 AddIntegers 的函数,这个函数接受两个整数作为输入,并返回它们的和。

THIS IS创建蓝图函数库步骤:
  1. 创建蓝图函数库:

    • 在UE编辑器的“内容浏览器”中,右键单击并选择“蓝图类”。
    • 在弹出的对话框中,选择“蓝图函数库”作为基类。
    • 给蓝图函数库一个名字,比如 MyFunctionLibrary
  2. 添加函数:

    • 打开 MyFunctionLibrary,然后在蓝图编辑器中添加一个新的函数,命名为 AddIntegers
    • 定义函数的输入参数(例如 A 和 B,类型为 Integer),并设置返回值类型(例如 Integer)。
    • 实现函数逻辑,比如返回 A + B
调用函数:
  1. 从另一个蓝图中调用:
    • 在想调用这个函数的蓝图(例如,角色蓝图或自定义蓝图)中,打开蓝图编辑器。
    • 拖动一个“调用函数”节点,选择你自己创建的 AddIntegers 函数。
    • 参数并连接节点以执行函数。

蓝图宏库:跟函数库差不多其实

  1. 没有实例变量:

    • 类似于蓝图函数库,宏库本身也不能拥有实例变量或持久状态。所有的数据和状态都必须通过参数传递。
  2. 创建和使用:

    • 在内容浏览器中右键点击,选择“蓝图” > “蓝图宏库”来创建一个新的宏库。在宏库中定义宏后,可以在其他蓝图中调用这些宏。
示例用法:

假设你要创建一个宏来处理角色的状态更新。

创建蓝图宏库:
  1. 创建宏库:

    • 在内容浏览器中右键单击,选择“蓝图” > “蓝图宏库”。
    • 给宏库名称,例如 MyMacroLibrary
  2. 定义宏:

    • 打开 MyMacroLibrary,然后在蓝图编辑器中添加新的宏,命名为 UpdateCharacterState
    • 在宏编辑器中,添加你需要的节点来实现状态更新逻辑。然后添加逻辑来处理角色的健康、状态和其他属性。
  3. 添加输入和输出:

    • 在宏的图表中添加输入参数(如 Health 和 Stamina),以及输出(如 UpdatedHealth)。
调用宏:
  1. 从另一个蓝图中调用:
    • 打开想使用宏的蓝图。
    • 拖动“宏调用”节点,选择 UpdateCharacterState 宏。
    • 连接输入参数并处理输出结果。

UE蓝图广播事件

在蓝图的事件分发器那里

发送方

 这个的用途:

  • 跨蓝图通信:比如一个角色的状态变化需要通知UI更新。
  • 响应游戏事件: 比如玩家达到特定等级然后触发游戏关卡变化、玩家完成任务触发地图更新。

实现步骤:

  1. 创建事件调度器:

    • 在蓝图编辑器中,添加一个事件调度器(右键 > “添加事件调度器”)。
  2. 触发事件:

    • 在需要广播事件的地方(如角色受伤逻辑),调用事件调度器。
  3. 绑定事件:

    • 在其他蓝图中,找到事件调度器并绑定到一个函数,处理接收到的事件。
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值