UE4-GamePlay-Actor
发布日期:2021-06-29 12:04:37
浏览次数:2
分类:技术文章
本文共 1046 字,大约阅读时间需要 3 分钟。
目录
1、基础功能
2、使用说明
2.1 创建Actor
增加了Replication(网络复制),Spawn(生生死死),Tick(有了心跳)。
不要用NewObject或者new,而要用UWorld::SpawnActor()
AActor* pActor = GetWorld()->SpawnActor<AActor>(FVector::Zero, FRotator::ZeroRotator);
2.2 在Actor中创建组件
在UE4中,为Actor创建组件,可以使用UObject::CreateDefaultSubobject()模板函数,这个函数只能在构造函数中调用。如下所示:
//注意这里的组件名在同一个Actor中不能重复。
UMyActorComponent* pMyComponent = CreateDefaultSubobject<UMyActorComponent>(TEXT("MyComponent"));
2.3 Actor事件
AActor:拥有一系列事件,可在生命周期中进行调用:
- BeginPlay - 对象首次出现在游戏进程中时调用
- Tick - 每帧调用一次,在一段时间内执行操作
- EndPlay - 对象离开游戏进程时
2.4 引入UE4 Actor Runtime Details可以支持动态修改Actor参数
3、Actor与ActorComponent之间的关联
3.1 一个Actor只有一个RootComponment根组件
3.2 Actor和Component关联常见操作:增(AddOwnedComponent)、删(RemoveOwnedComponent)、改、查(OwnsComponent)
3.3 Actor中通过维护下列三个数组来实现以空间换取事件
- TArray<UActorComponent*> ReplicatedComponents;
- TArray<UActorComponent*> BlueprintCreatedComponents;
- TArray<UActorComponent*> InstanceComponents;
3.4 功能设计建议
是将功能代码放在Actor还是放在Component里然后挂在Actor上面?
应该根据要从
- 代码量
- 代码复用性
两个角度去考虑。需要复用的即使代码再少也应该放在Component中。代码量大则无论现阶段是否复用都放在一个独立的Component中。
转载地址:https://blog.csdn.net/zzZZ20150101/article/details/112240449 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
关注你微信了!
[***.104.42.241]2024年04月04日 23时56分21秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
BLE蓝牙4.0串口调试助手
2019-04-29
树莓派WIFI设置
2019-04-29
用vcgencmd获取树莓派硬件状态数据
2019-04-29
IIS 多域名多张证书配置
2019-04-29
树莓派LINUX 截屏
2019-04-29
树莓派Raspberry Pi的嵌入式QT平台
2019-04-29
apache https
2019-04-29
Debian Jessie安装支持HTML5音视频的Chromium浏览器听百度音乐
2019-04-29
nanopi2 启动信息
2019-04-29
POS打印机驱动大全
2019-04-29
phpstudy https
2019-04-29
centos apache 最新版HTTPS配置
2019-04-29
树莓派添加中文语音合成功能
2019-04-29
kangle https设置
2019-04-29
Linux下EasyPanel版本安装及升级
2019-04-29
raspberry pi(树莓派) + easycap d60 视频采集
2019-04-29
WebRTC
2019-04-29
rfc5766-turn-server NAT
2019-04-29
webrtc详细教程
2019-04-29