欢迎光临散文网 会员登陆 & 注册

三、创建第一个C++ Actor类

2022-11-21 18:53 作者:爱玩UE5的小哥哥  | 我要投稿

“对照蓝图实现C++,更有利于学习哟”

一.创建一个Actor的蓝图类---BP_Actor

命名:BP_Count

二.C++实现BP_Actor蓝图类的功能

1.创建一个c++类Cpp_Actor

创建类后,会打开IDE,跳到.cpp文件中

2.C++定义Float类型变量Money,对应蓝图中变量Money

蓝图float类型变量Money

.h文件中

public是访问修饰符,该修饰符下面定义的变量or函数的访问权限为公开.除了public之外还有private(私有)和protected(保护).暂且先将变量和函数都声明为public,后面在将这三种修饰符的区别和使用选择.

类中可以有多个访问修饰符,只要你想,可以加n个public.

类中有多个public的用途在于:可以将变量和函数的定义分开,比如访问权限公开的变量放到一个public下,访问权限公开的函数放到另一个public下,目的是为了容易阅读

3.C++定义AddMoney函数及逻辑对应蓝图中AddMoney函数

蓝图中的AddMoney函数

.h文件声明函数

函数声明(.h中)的语法格式为:

返回值类型 函数名 (参数1类型 参数1名称,参数2类型 参数2名称,....);

以AddMoney为例:

这是一个返回值类型为float类型 ,函数名为AddMoney,参数类型为float,参数名为Moneyvalue的函数

函数的返回值和参数不是必须的,没有返回值的话,返回值类型写void,如:

void MyFunction();这就是一个没有返回值,并且没有传入参数的函数. 

.cpp文件定义函数

函数定义(.cpp)中的语法格式为:

返回值类型 类名::函数名 (参数1类型 参数1名称,参数2类型 参数2名称,....)

{

        函数逻辑;

        //对于没有返回值的函数(返回值为void),下面这个return 返回值可以不写;

        return 返回值;


4.C++实现在Tick事件中调用AddMoney函数及逻辑对应蓝图中事件

.cpp文件c++代码对应上面的蓝图tick事件

5.C++完整代码如下

.h文件

.cpp文件

三.构建并运行C++代码

构建成功,运行项目,等待编辑器的打开...

打开编辑器之后我们就能在C++Classes路径下找到这个新建的c++类

将C++类拖入场景中并且运行

至此C++已经实现了蓝图功能

要点解析:

Cpp_Actor C++类的解析

①UCLASS宏:

该宏是UE4C++类的必要组成之一,主要用途在于修饰C++类,比如控制被其修饰的C++类能否在蓝图中可见,能否派生蓝图子类等

②C++继承方式:

C++继承父类的语法格式:class 类名: public 父类 

③GENERATED_BODY宏:目前无需深入理解.

④构造函数:

创建对象时必须执行的函数,与之对应还有个析构函数.

⑤beginplay和tick函数: 

C++中的Beginplay和Tick函数作用对应蓝图中的Beginplay和Tick事件

要注意的是!!!仅仅是功能相同,并不代表蓝图中的Beginplay和Tick就是这两个C++函数

域解析符

::被称为域解析符(也称作用域运算符或作用域限定符),用来连接类名和函数名,指明当前函数属于哪个类。

成员函数声明作用域语法: 

返回值 类名::函数名( 参数1,参数2...)

{

//TODO

}





三、创建第一个C++ Actor类的评论 (共 条)

分享到微博请遵守国家法律