当前位置: 首页 > news >正文

动态网站制作基础建议广告模板

动态网站制作基础建议,广告模板,淮安建设企业网站,湖北省建设信息港网站一.UObject的创建 UObject 不支持构造参数。 所有的C UObject都会在引擎启动的时候初始化,然后引擎会调用其默认构造器。如果没有默认的构造器,那么 UObject 将不会编译。 有修改父类参数的需求,就使用指定带参构造 // Sets default value…

一.UObject的创建

UObject 不支持构造参数。

所有的C++ UObject都会在引擎启动的时候初始化,然后引擎会调用其默认构造器。如果没有默认的构造器,那么 UObject 将不会编译。

有修改父类参数的需求,就使用指定带参构造

	// Sets default values for this actor's propertiesAMyActor();// AMyActor(const FObjectInitializer& ObjectInitializer);

创建

1. NewObject<T>();

虚幻会管理,它重载了new 和 delete。

	myObject =  NewObject<UBaseObject>();

2.     CreateDefaultSubobject<T>();

RootComponent = CreateDefaultSubobject<USceneComponent>("Root");

只是上一个更通用,下面这个在构造函数里才使用,来创建和管理组件。

二.测试垃圾回收

在你Actor的头文件的中,声明一个UObject·。

UCLASS()
class MYPROJECT_API UBaseObject :public UObject
{GENERATED_BODY()
public:UBaseObject();UBaseObject(const FObjectInitializer& ObjectInitializer);virtual ~UBaseObject();int32 Health = 666;
};

并在Actor里声明它。

public:	// Called every framevirtual void Tick(float DeltaTime) override;UFUNCTION(BlueprintCallable)void InitBaseObject();UFUNCTION(BlueprintCallable)int32 GetBaseObjectHealth();//为了避免对象被回收//UPROPERTY()  //有对象引用了,就不会被回收UBaseObject* myObject = nullptr;
};

CPP里实现

void AMyActor::InitBaseObject()
{myObject =  NewObject<UBaseObject>();myObject->AddToRoot();
}int32 AMyActor::GetBaseObjectHealth()
{if (myObject){return myObject->Health;}return -1;
}UBaseObject::UBaseObject()
{UE_LOG(LogTemp, Warning, TEXT("初始化了"));}UBaseObject::UBaseObject(const FObjectInitializer& ObjectInitializer)
{UE_LOG(LogTemp, Warning, TEXT("初始化了2"));
}UBaseObject::~UBaseObject()
{UE_LOG(LogTemp, Warning, TEXT("垃圾回收"));
}

测试

一旦按下3,垃圾回收。自己的UObject就会被回收掉。

解决方案,加上UPOPERTY,让它被对象引用。

	//为了避免对象被回收UPROPERTY()  //有对象引用了,就不会被回收UBaseObject* myObject = nullptr;

AddtoRoot,强制不被回收。和允许回收。少用这个方法。

void AMyActor::InitBaseObject()
{myObject =  NewObject<UBaseObject>();myObject->AddToRoot();
}

注:标记UPROPERTY 会自动加入root set 阻止垃圾回收

一个Up标记object类指针变量,当指向null时,object会进行析构,自动进行垃圾回收

一个非标记的object类变量,当未添加AddToRoot时,会被下一次垃圾回收,留下野指针。

你通常需要保持对希望保持活跃的任何Object的`UPROPERTY`引用,或者将指向它的指针存储在`TArray`或其他引擎容器类中。

http://www.ds6.com.cn/news/61893.html

相关文章:

  • 泰州做直销会员结算管理网站深圳产品网络推广
  • 哪家网站开发好郑州seo技术培训班
  • 网站色彩搭配原则seo与sem的区别与联系
  • 网站建设的专业知识舆情视频
  • 做培训的网站建设怎样开自己的网站
  • dede网站模板 医疗英文seo实战派
  • 什么网站可以做旅行行程百度账号怎么改用户名
  • 青岛专业网站建设seo流量增长策略
  • 做asp动态网站制作流程百度官方平台
  • 昆明做网站建设的公司排名优化网站软文
  • 医疗美容网站模板苏州首页关键词优化
  • 毕业设计用java做网站输入关键词自动生成标题
  • wordpress 迁移插件深圳网络优化公司
  • 网站建设类的论文题目网络营销有哪些主要功能
  • 推进门户网站建设 用好用活seo测试
  • 网站换模板要怎么做深圳互联网推广公司
  • 西安高端网站制作公司哪家好全国防疫大数据平台
  • 做水印的网站常见的营销型网站
  • 网站建设网站制作公司十大搜索引擎排行榜
  • 外贸网站推广怎样做最新军事新闻
  • 云建站空间网络营销成功案例分析
  • 韩国在中国做美食的视频网站有哪些今日国际新闻最新消息十条
  • 违法的网址能注册做一网站用吗搜索引擎调词平台哪个好
  • 嘉定建设厅网站网络推广页面
  • 政府部门网站模版模板建站的网站
  • 网站制作选哪家公司品牌推广方式有哪些
  • 做视频小网站犯法吗网站设计费用
  • 网站设计怎么做明信片如何在国外推广自己的网站
  • 主流网站开发软件站长之家权重
  • 始兴县建设局网站百度客服人工服务电话