UE4的编程基础

主要分为三个模块
命名规则,日志打印,程序的基本构造
关于命名规则
UE4的C++中,大量用到的封装有,类,结构体,枚举。UE4对类额封装采用了两种形式,一种是纯虚类被称之为“接口”,另一种没有纯虚类,这样的类被称之为基类,
UE4对自己的封装采用了以下几种区分
A字母开头的,表示当前全部继承来自于AActor类;
U字母开头的,表示当前继承UObjet类,表示资源和组件
F字母开头的,可能是Subjet,可有可能是类,如果是类就绝对不可能继承于UObjet,对于这样的类型我们不要使用堆得内存方式,
I字母开头的,表示当前是“接口”类,需要实现他纯虚函数,
E字母开头的,表示枚举。
T字母开头的,表示是类模板,一般用来做数据结构。
如果所有字母全部大写,表示是宏定义,
日志打印
关于UE4的日志打印主要分为两种方式,一种是向你游戏的屏幕输出,一种是向编辑器的OutputLog对话框中输出数据,类蓝图的Pringstring节点可以向两个方向输出,但是C++部分不可以。
C++PutoutLog,属于终端输出形式 ,
API:
UE_Log(日志分类,日志类型,日志内容(是可以被各化)。。。)
日志的分类
Log:表示普通日志,会被记录到满五年日志文件中去
Warning:警告日志,同时被记录到文件中去
Error:错误日志,也会被记录到日志文件中去
日志的分类,系统默认LogTemp,我们可以自定义,自定义的方式:
在头文件中声明:
DECLEAR_LOG_CATEGORY_EXTERN(自定义名字,主要的日志类型,是否覆盖全部日志(All))
在CPP文件中实现,对声明的日志进行分类:
DEFINE_LOG_CATEGORY(自定义名)
UE_LOG对字符串只认识wchar_t类型的,不认识ANSIC
C++ScreenPrint,他是在你的游戏运行的屏幕上显示的日志
GEngine->AddOnScreenDebugMessage(int nkey,float fDisplayTime,FColor col,FString msg,bool Ontop,Fvector2D texScale);
nKey:表示离你的屏幕坐标多少像素,默认填-1的位置
fDisplayTime:在屏幕上显示多久,单位是秒
col显示文字颜色
Msg:用于输出的文字内容,必须是UFT_8宽字符集的
Ontop:是否一直置顶,ture就会一直置顶,false就会持续更新日志打印
texScale:对文字缩放比例设置,注意他是2D的
程序的基本构造
游戏个体执行顺序:

默认构造:在编译的时候就已经执行了
PostInitPropertise:跟构造同时执行
PostIntializeComponent:当你有组件的时候,他会让你的组件进行初始化,的调用组件的BeginPlay
Beginplay:运行的时候在PostInitProperties之下执行
Tick:循环执行,根据每帧的时间执行,通过参数,返回上一帧所用的时间。
BeginDestory:当游戏个体被销毁的时候执行,当你调用了Destory他不会立即销毁,会等到垃圾回收机制到来才一次回收内容
析构:当游戏个体真正被删除的时候才执行
组件个体执行顺序
默认构造:编译的时候已经执行了
PostInitProperties:跟构造同时执行
BeginPlay:运行的时候PostIntProeriise之下执行
TickComopnent:循环执行,根据每帧时间执行,返回上一帧执行所有的时间,通过参数
BeginDestory:当组件个体被小数的时候执行,当你调用了Destory他不会立刻销毁,会等到垃圾回收机制到来才一次性回收内容
析构:当组件个体真正的被删除了才执行
游戏个体和组件执行顺序的关系:初始化都是先从Actor,中有一个PostInitialzeComponent方法,他是你常见的组件进行初始化的地方,到了BeginPlay就是组件先走,Actor后执行,
Tick中是Actor的先执行,然后让组件的TickComopnent执行
组件先进行销毁,Actor后跟着销毁。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值