UE C++委托
文章平均质量分 53
委托
老弯曼巴UE5
老弯曼巴 全平台同名,知乎,B站
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
UE C++ 系统再学习委托(一)对官方文档的理解
除了动态(不在蓝图里能用,符合上面说的,蓝图限制多),在绑定时,可以将参数存储在委托内,调用时,此参数将被传到绑定函数。绑定到智能指针,和UObject 上,这两个声明周期是UE管理好的。动态可能会限制多一些,不如C++灵活,反射系统的注册也需要一些额外的规定,可能不支持载荷之类的等等。不知道为啥叫动态,叫反射多播多好,英译吧可能。单播 单向传播 一对一,只有一个对象绑定后能下能响应。多播,动态单播,动态多播的变体如下。多播 多向传播 一对多,四处留情,一呼百应。单播,多播,动态单播,动态多播。原创 2025-09-09 10:00:22 · 288 阅读 · 0 评论 -
UE C++的单播的其它方式(二)
在执行CallReplaceMyDelegate 便改掉了绑定。一.对于智能指针的Lamda函数的绑定 BindSPLamda。二.对于原生C++的绑定 BindStatic。用CreateLamda来代替原来的委托。五.绑定 弱指针对象的 Lamda函数。三.绑定 线程安全的 智能指针。匿名函数就能顶替掉原来的函数。在CPP里创建一个纯C++函数。沿用用上篇文章的智能指针。六.新建委托,代替原委托。四.绑定 反射的函数。原创 2025-09-18 15:08:45 · 135 阅读 · 0 评论 -
UE C++ 单播委托 的多种方式
只是绑定的时候,需要多绑定一些匿名函数。匿名函数传参,和声明委托传参可以一致即可。这里就不用,另外在实现因为它就是写在参数中,相当于临时函数一样。方便用完就完了,不用去头文件什么,传来传去。1.在头文件里,写一个C++ 原生类做测试。不反射,接着在委托函数里,实例化指针。同样的还有个BindSPLamda,也是绑定那个对象,然后调用那个Lamda表达式。1.说下我对 Lmada表达式的简单理解,把函数当成 参数传递进去。用共享指针的弱引用 创建新的对象,再用弱指针指向它。2.进行测试,写到这里。原创 2025-09-12 07:08:45 · 301 阅读 · 0 评论 -
UE C++ 单播的委托
另一个响应的Actor,首先需要拿到发号施令的人(申明并实例化的Actor类),然后Cast 转化。拿到它的委托指针,用里面的 绑定操作(BindUObject),注册自己并绑定响应函数。只是发号施令的更方便。没有严格按声明的委托来,函数多加了额外的参数,就是绑定的时候,也多绑定了额外的参数。()里对应,先填返回值类型,再填委托的声明的名字,传入参数类型。多用于,委托定死了,不能改的情况。3.同样在创建,响应的函数,里面包含一个参数传入。有参,无参都能负荷,这里用二里有参的委托来举例。3,绑定,将的参数。原创 2025-09-10 09:52:19 · 300 阅读 · 0 评论
分享