当前位置:   article > 正文

UE5 C++ 蓝图交互调用_ue5 c++ 调用蓝图

ue5 c++ 调用蓝图

 



目录

一、C++ 调用蓝图Actor的成员函数

二、蓝图重写C++函数


一、C++ 调用蓝图Actor的成员函数

  1. //调用函数
  2. TWeakObjectPtr<AGWAnalysisToolBase> _bpActor;
  3. //方法1,外部设置字符串
  4. FString param = TEXT("arg1");
  5. FString cmdReset = TEXT("func1 ") + param ;
  6. //函数名+" "+参数(只能是简单参数,如string,int32等,
  7. //不能是枚举、结构体,函数名和参数使用空格隔开)
  8. FOutputDeviceNull device;
  9. _bpActor->CallFunctionByNameWithArguments(
  10. cmdReset,
  11. device,
  12. NULL,
  13. true);
  14. //方法2,直接调用
  15. _bpActor->CallFunctionByNameWithArguments(
  16. TEXT("func2"),
  17. device,
  18. NULL,
  19. true);
  20. //修改变量值,
  21. //示例为bool,所以使用FBoolProperty
  22. for (TFieldIterator<FBoolProperty> boolProperty((_bpActor.Get())->GetClass()); boolProperty; ++boolProperty)
  23. {
  24. if (boolProperty->GetName().Contains(TEXT("bVar1")))
  25. {
  26. boolProperty->SetPropertyValue_InContainer(_bpActor.Get(), true);
  27. }
  28. }

二、蓝图重写C++函数

  1. //重点
  2. //1:需要被蓝图重写的函数需要使用BlueprintNativeEvent修饰
  3. //2:这个函数还需要添加一个虚函数,XXXXXX+[_Implementation],用于子类的重写,
  4. //为固定格式,亦或可以称为UE版本的虚函数吧
  5. UFUNCTION(BlueprintNativeEvent, Category = "BP| fun1")
  6. bool fun1();
  7. virtual bool fun1_Implementation() { return false; };
  8. UFUNCTION(BlueprintNativeEvent, Category = "BP| fun2")
  9. bool fun2();
  10. virtual bool fun2_Implementation() { return false; };

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

闽ICP备14008679号