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

上海住房城乡建设部网站seo优化论坛

上海住房城乡建设部网站,seo优化论坛,辽宁人工智能建站系统软件,申请注册一个自媒体平台账号1.销毁Actor 1.Actor中存在Destory()函数和Destoryed()函数 Destory()函数是成员函数,它会立即标记 Actor 为销毁状态,并且会从场景中移除该 Actor。它会触发生命周期中的销毁过程,调用 Destroy() 后,Actor 立即进入销毁过程。具体…

1.销毁Actor

        1.Actor中存在Destory()函数和Destoryed()函数

        Destory()函数是成员函数,它会立即标记 Actor 为销毁状态,并且会从场景中移除该 Actor。它会触发生命周期中的销毁过程,调用 Destroy() 后,Actor 立即进入销毁过程。具体来说,它会开始执行 BeginDestroy()EndDestroy(),并且会销毁 Actor 本身及其所有组件

        Destroyed()函数是虚函数(或者是事件函数),它在 Actor 被销毁后被自动调用。你可以在 Destroyed() 中执行一些销毁后的清理工作,Destroyed() 是一个回调函数,当 Actor 销毁过程完成时(通常是调用 Destroy() 后)会被自动调用。可以重写Destoryed()函数完成Actor销毁后的一些操作

        2.Actor在什么时候会被完全销毁

        1.调用 Destroy() 时,Unreal Engine 不会立即释放 Actor 的内存,而是:

  • 标记 Actor 为待销毁状态 (bPendingKill = true)。
  • 移除 Actor 及其组件,停止它的 Tick 和物理模拟。
  • 触发 EndPlay() 事件(如果 Actor 还在 BeginPlay() 之后)。
  • 触发 Destroyed() 事件,让子类可以在销毁前执行额外逻辑。
  • Actor 从世界中移除,停止 Tick 和物理模拟

         2.调用Destroyed()

  • 允许 Actor 在销毁前执行自定义逻辑

        3.UE中的GC机制

        当前阶段会释放掉Actor的内存。

2.移动Actor

        1.使用MoveComponent()函数,

void ASpawnActor::SetActorLocation()
{UStaticMeshComponent* RootComp = Cast<UStaticMeshComponent>(GetRootComponent());if (RootComp){// 定义你想要移动的偏移量FVector Offset(0.f, 0.f, -10.f);  // 向Z轴移动10单位// 使用MoveComponent来平滑移动组件RootComp->MoveComponent(Offset, FRotator::ZeroRotator, true);//UE_LOG(LogTemp, Warning, TEXT("move ment component"));}
}

        我当前的RootComponent是UStaticMeshComponent类型的,如果使用SetupAttachment附加到原本的RootComponent也可以实现,MoveCompoennt是USceneComponent类中的成员函数,只要继承自这个类都可以调用MoveCompoennt函数

        2.创建一个UMoveMentComponent的组件

        创建C++类ActorMovementComponent继承自MoveMentComponent,在,Actor中定义指针,在Actor的构造中初始化这个指针

UPROPERTY(VisibleAnywhere, Category = "Move");
UActorMovementComponent* ActorMovementComponent;ActorMovementComponent = CreateDefaultSubobject<UActorMovementComponent>(TEXT("Move"));

ActorMovementComponent类中实现(TickComponent是虚函数,重写一份,记得)

void UActorMovementComponent::TickComponent(float DeltaTime, ELevelTick TickType, FActorComponentTickFunction* ThisTickFunction)
{//一定记得要写这行Super::TickComponent(DeltaTime, TickType, ThisTickFunction);// 速度和加速度可以从Actor 中设置,也可以默认// 更新速度,应用加速度FVelocity += Acceleration * DeltaTime;// 限制最大速度if (FVelocity.Size() > MaxSpeed){FVelocity = FVelocity.GetSafeNormal() * MaxSpeed;}// 更新 Actor 位置FVector NewLocation = GetOwner()->GetActorLocation() + (FVelocity * DeltaTime);GetOwner()->SetActorLocation(NewLocation);// 重置加速度(如果希望每帧都控制加速度,可以在外部控制)Acceleration = FVector::ZeroVector;
}

3.制作一个简单的空气墙

        1.创建一个UBoxComponent设置SetVisibility(false)将可视性为变成false,设置碰撞类型

SetCollisionEnabled(ECollisionEnabled::QueryAndPhysics);
SetCollisionResponseToAllChannels(ECR_Block);  // 使得所有物体都会被阻挡
SetCollisionResponseToChannel(ECollisionChannel::ECC_Camera,ECollisionResponse::ECR_Ignore);

        2.创建对应蓝图,拖拽到场景中,调整大小。

http://www.dtcms.com/wzjs/272736.html

相关文章:

  • python 做网站模块百度小程序入口官网
  • 网站建设简历地推拉新app推广平台有哪些
  • 淘宝网由于该网站的robots.txt文件存在限制指令站长工具百度
  • 长沙的互联网网站公司网站推广的渠道有
  • 海外社交平台推广seocms
  • 湖北省麻城建设局官方网站深圳疫情防控最新消息
  • 怎么做网站弹窗seo网站诊断方案
  • 网站建设佰金手指科杰二七天津建站网
  • 专业建设外贸网站制作广告公司招聘
  • 神华两学一做网站推广引流app
  • 如何做机票预订网站设计案例网
  • 自己网站做问卷调查公司seo
  • 网站建设的指标seo技术团队
  • wordpress 不用插件代码高亮江苏关键词推广seo
  • 制作网站代码搜索引擎官网
  • wordpress数据库导入插件深圳龙岗区优化防控措施
  • 中式设计网站推荐网络营销手段有哪四种
  • 郑州专业做网站的公司网络营销的特点有哪些?
  • 电子商务网站分类seo好学吗入门怎么学
  • 网站可以做315认证吗苏州网站建设公司排名
  • 网页设计与网站的关系六安seo
  • 头像制作在线生成器上海seo优化公司
  • django做的网站域名注册入口
  • 备案 多个网站石家庄网站建设培训
  • wordpress 插入音乐洛阳网站建设优化
  • ftp服务器设置网站主页域名交易平台
  • 做网站有什么专业术语网店运营策划方案
  • 网站关键词优化实验结果分析网站如何才能被百度收录
  • 加强政府网站建设管理讲话磁力搜索器kitty
  • 宣化网站建设中国培训网是国家公认的吗