大象无形 02.Unreal C++编程基础

命名规则

添加前缀以区别类型:

F:纯C++类;

U:继承自UObject但不继承自Actor;

A:继承自Actor;

S:Slate控件相关类;

H:HitResult相关类;

实例化对象

纯C++类(F开头),使用new产生对象;

继承自UObject但不继承自Actor,使用NewObject函数产生对象:NewObject<T>();返回对象的指针;

继承自Actor使用SpawnActor函数产生对象:GetWorld()->SpwanActor<CusActorClass>();

获取场景中某个Actor的所有实例:使用迭代器:

for(TActorIterator<AActorClass> Iterator(GetWorld());Iterator;++Iterator)

{

//codes for something

*Iterator;//对象的指针

Iterator->Function();//调用函数

}

销毁对象

纯C++类

没有使用new:系统自动回收;

使用了new:手动delete或者声明时使用智能指针依靠引用计数销毁:

TSharedPtr<CusClass> CusClassPtr=MakeShareable(new CusClass());//将不同的new转化为智能指针进行管理

UObject类

根据UPROPERTY宏参与垃圾回收,受系统控制;

Actor类

可以调用Destory函数将对象从场景世界销毁,但内存的回收还是受系统控制;

C++到蓝图

UPROPERTY宏:注册变量到蓝图;

UPROPERTY(BlueprintReadWrite,VisiableAnywhere,Category=”Object”)

UFUNCTION宏:注册函数到蓝图;

UFUNCTION(BlueprintCallable,Category=”test”)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值