当前位置:实例文章 » 其他实例» [文章]UE5【C++】 UPROPERTY和UFUNCTION介绍

UE5【C++】 UPROPERTY和UFUNCTION介绍

发布人:shili8 发布时间:2024-12-24 01:18 阅读次数:0

**UE5 C++ UPROPERTY 和 UFUNCTION 的介绍**

在 Unreal Engine5 中,`UPROPERTY` 和 `UFUNCTION` 是两个非常重要的宏,它们用于定义类成员变量和函数。在本文中,我们将详细介绍这些宏的使用方法、特点以及示例代码。

**1. UPROPERTY**

`UPROPERTY` 宏用于定义类成员变量。它可以用来标记一个类成员变量,使其能够被序列化(Serialization)和反射(Reflection)。序列化是指将数据转换为二进制流的过程,而反射是指在运行时动态地访问类成员变量的过程。

**使用方法**

要使用 `UPROPERTY` 宏,需要在类成员变量前面加上这个宏。例如:

cppUCLASS()
class MYGAME_API MyActor : public AActor{
 GENERATED_BODY()

public:
 UPROPERTY(EditAnywhere, Category = "My Actor")
 int32 MyInt;

 UFUNCTION(BlueprintCallable)
 void MyFunction();
};


在这个例子中,`MyInt` 是一个类成员变量,它被标记为 `UPROPERTY`。这个宏的参数 `EditAnywhere` 表示该变量可以在编辑器中修改,而 `Category = "My Actor"` 表示该变量属于 "My Actor" 类别。

**特点**

* 可以用来定义类成员变量* 支持序列化和反射* 可以设置属性(如可编辑性、分类等)

**2. UFUNCTION**

`UFUNCTION` 宏用于定义类函数。它可以用来标记一个类函数,使其能够被蓝图调用。

**使用方法**

要使用 `UFUNCTION` 宏,需要在类函数前面加上这个宏。例如:

cppUCLASS()
class MYGAME_API MyActor : public AActor{
 GENERATED_BODY()

public:
 UPROPERTY(EditAnywhere, Category = "My Actor")
 int32 MyInt;

 UFUNCTION(BlueprintCallable)
 void MyFunction();

 // ...

private:
 UFUNCTION(BlueprintCallable)
 void MyPrivateFunction();
};


在这个例子中,`MyFunction` 和 `MyPrivateFunction` 是两个类函数,它们被标记为 `UFUNCTION`。`BlueprintCallable` 参数表示这些函数可以在蓝图中调用。

**特点**

* 可以用来定义类函数* 支持蓝图调用**总结**

`UPROPERTY` 和 `UFUNCTION` 宏是 Unreal Engine5 中非常重要的宏,它们用于定义类成员变量和函数。在本文中,我们详细介绍了这些宏的使用方法、特点以及示例代码。通过阅读本文,开发者可以更好地理解这些宏的作用,并在实际项目中灵活应用它们。

**参考**

* Unreal Engine5 文档:[UPROPERTY]( />* Unreal Engine5 文档:[UFUNCTION](

相关标签:c++ue5开发语言
其他信息

其他资源

Top