这篇文章是我看Siki学院学习的笔记,学习的地址如下:
http://www.sikiedu.com/my/course/518
因本人才疏学浅,如有错误之处,还请见谅
文章目录
虚幻引擎C++类层级结构
层级 | 作用 |
---|---|
Object | ① 存放数据 ② 不能被放置到场景中 |
Actor | ① 能放置在场景中(Level)中 ② 可以有视觉表现 |
Pawn | ① 可以被控制器(Controller)持有(Possess) |
Character | ① 有角色移动组件(Character Movement Component) ② 具有适合角色的封装好的一系列功能 |
“是一个,有一个”
层级 | 作用 |
---|---|
父类 | ① 一个父类不是一个子类 ② 一个父类不是一个孙类 |
子类 | ① 一个子类是一个父类 ② 一个子类不是一个孙类 |
孙类 | ①一个孙类是一个子类 ② 一个孙类是一个父类 |
反射与垃圾回收系统
垃圾回收简单讲一哈
就是你创建了一个实例,但是你没有销毁,那它就成为了垃圾,C++没有这个机制,要靠程序员自己写.
虚幻这个体贴人的软件.就自己加了一个垃圾回收.
我们只有加入特定的宏就虚幻就可以帮我们实现垃圾回收机制.
创建第一个UObject类
① 前期准备
下载VS,然后做好VS的准备工作.
PS:创建的时候,要创建C++工程
② 一些具体的设置
③ 开始创建
然后名字和存放的地址,自己选.
然后UE4会自己把VS给打开.
然后进行加载.
注意,要等全部加载完毕,在进行读写.
需要我们在VS里面进行修改.
UCLASS(Blueprintable)
UCLASS 就是一个固定的宏,告诉程序权限是啥.
我们这里给了一个蓝图的权限.
然后我们需要进行编译.
编译
① 在VS里面编译
VS下面会包一个编译信息.
这里省略.
② 在UE4里面进行编译
UE4里面的编译信息要在这里找
自己对比一下就可以发现.VS里面编译是全部编译,但是UE4里面编译的就少了许多.
加快编译速度
在自己的UE4引擎的安装位置
然后用好一点的编辑器.打开
创建UObject的蓝图类与基础宏参数介绍
在上面的基础上
我们创建为蓝图类.
那个不能点击的,已经可以点击了.
然后再VS里面的.h文件里面增加如下代码:
UMyObject_02(); //这个是我们创建的类名
UPROPERTY(BlueprintReadWrite) //这个反射的就是加一个蓝图的读写权限
float MyFloat;
UFUNCTION(BlueprintCallable) //这个反射的是一个类的蓝图使用权限
void MyFunction();
然后我们编译.
结果如下: