AILibrary.h(46): [] Unable to find ‘class’, ‘delegate’, ‘enum’, or ‘struct’ with name ‘FJsonObject’
说明这个函数不能是蓝图可调用的
确保函数在头文件中声明为UFUNCTION()
(by GPT4)DECLARE_DELEGATE_ThreeParams
和DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams
都是Unreal Engine中用于创建委托的宏,但它们之间存在一些关键区别。
DECLARE_DELEGATE_ThreeParams
声明的是单播委托(Single-Cast Delegate),它只能绑定一个函数。当触发委托时,只有这个绑定的函数会被调用。
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams
声明的是多播委托(Multi-Cast Delegate),它可以绑定多个函数。当触发委托时,所有绑定的函数都会被调用。
DECLARE_DELEGATE_ThreeParams
声明的委托是静态的,不需要使用UFUNCTION()宏。它们的生命周期由C++对象管理。
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams
声明的委托是动态的,需要使用UFUNCTION()宏。它们的生命周期由Unreal Engine的垃圾回收系统管理,因此需要继承自UObject。
DECLARE_DELEGATE_ThreeParams
声明的委托使用Execute
或ExecuteIfBound
方法触发。
DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams
声明的委托使用Broadcast
方法触发。
总结:
DECLARE_DELEGATE_ThreeParams
声明单播委托。DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams
声明多播委托。DECLARE_DYNAMIC_MULTICAST_DELEGATE_ThreeParams
声明动态多播委托,并确保使用UFUNCTION()宏。如题,不能用if去判空蓝图实现的C++接口
不能捕获自己,所以重试逻辑直接调用最外面那层函数吧
#UI
这里指的是文本过长,然后选择了截断成省略号,不生效,文本还是超框的情况。
去放那个文本的父类,Rendering->Clipping选“Clip to Bounds”