【UE C++】蓝图调用C++函数

目录

一、蓝图调用其继承的C++类的函数

二、蓝图调用全局C++函数


一、蓝图调用其继承的C++类的函数

首先新建一个C++类

父类选择“Actor”

这里命名为“MyActorFromC”,然后点击创建类,等待编译完成。

在头文件中申明函数

UFUNCTION(BlueprintCallable, Category="publicFunction")
	int testFunction(int a, int b);

在源文件中编写该函数的具体实现

int AMyActorFromC::testFunction(int a, int b)
{
	int c = a+b;
	return c;
}

 重新编译,等待编译完成后,新建一个以此C++类为父类创建蓝图类

 这里命名为“BP_MyActorFromC”

打开“BP_MyActorFromC”,可以看到此时已经可以使用在C++类中创建的方法“testFunction”

 测试一下该函数的执行结果

 可以看到结果正确

二、蓝图调用全局C++函数

接下来就要创建一个能供全局调用的C++函数,创建一个父类为蓝图函数库(BlueprintFunctionLibrary)的C++类

 这里就使用默认的命名“MyBlueprintFunctionLibrary”

在“MyBlueprintFunctionLibrary.h”申明一个函数:

public:
	UFUNCTION(BlueprintCallable, Category="LibraryFunction")
	static int testGlobalFunction(int a, int b);

在“MyBlueprintFunctionLibrary.cpp”中编辑函数逻辑:

int UMyBlueprintFunctionLibrary::testGlobalFunction(int a, int b)
{
	int c=a*b;
	return c;
}

 编写好程序后再次编译。

我们随便新建一个蓝图类,在该蓝图中调用“testGlobalFunction”

 测试运行,可以看到这里已经不用去继承C++父类,而在任何地方都可以使用自己编辑的C++函数

参考文章:

UE4 蓝图调用C++函数(附带项目工程)_ue4 c++调用蓝图函数_蒙双眼看世界的博客-CSDN博客

猜你喜欢

转载自blog.csdn.net/ChaoChao66666/article/details/131675195