当前位置:   article > 正文

UE4通过类名符串和函数名字符串调用函数_ue4 字符串调用函数

ue4 字符串调用函数
  1. FACTION_DATA CurActionData;
  2. UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName = "播放完成回调类(不要A,U前缀如Actor非AActor)")
  3. FString ClassName;
  4. UPROPERTY(EditAnywhere, BlueprintReadWrite, DisplayName = "播放完成回调函数")
  5. FName CallBackUFunction;
  6. if (!ClassName.IsEmpty())
  7. {
  8. UObject* ClassPackage = ANY_PACKAGE;
  9. UClass* Result = FindObject<UClass>(ClassPackage, *ClassName);
  10. //动画结束回调
  11. if (Result && (!CallBackUFunction.IsNone()))
  12. {
  13. UFunction*CallBack = Result->FindFunctionByName(CallBackUFunction);
  14. if (CallBack)
  15. {
  16. ProcessEvent(CallBack, NULL);
  17. }
  18. }
  19. }

 

备注:回调类(不要A,U前缀如Actor非AActor),CallBackUFunction为Class中的UFUNCTION()函数

如类

  1. UCLASS()
  2. class TEST_API AZombieMonster :public:APawn
  3. {
  4. GENERATED_BODY()
  5. public:
  6. UFUNCTION()
  7. void OnAnimEnd();
  8. }

 

传入值 ClassName=FString("ZombieMonster"),不带前缀A AZombieMonster

传入值 CallBackUFunction=FName("OnAnimEnd");

最终会调用AZombieMonster::OnAnimEnd()函数

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/喵喵爱编程/article/detail/894961
推荐阅读
相关标签
  

闽ICP备14008679号