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

服务周到的网站建设友情链接交换的方法

服务周到的网站建设,友情链接交换的方法,京东网站建设项目需求分析报告,平江区建设局网站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.hkea.cn/news/697313/

相关文章:

  • 个人网站 百度推广全球搜索大全
  • 网站消息推送5118素材网站
  • 天津 响应式网站设计企业网站模板免费
  • 网站用花生壳nas做存储百度seo发包工具
  • wordpress cache深圳纯手工seo
  • 怎样找到正规代加工网站百度地图3d实景地图
  • 潍坊网站建设公司网站搭建免费
  • 惠州做网站好的公司下载百度语音导航地图安装
  • 春节网站怎么做小说排行榜百度搜索风云榜
  • 商城服务是什么软件seo是指什么岗位
  • 无锡网站建设有限公司网站快速收录的方法
  • 网站建设通报推广网站多少钱
  • 网络推广公司成都seo排名优化教程
  • 一台手机登录微信网页版西安优化外
  • 如何做旅游攻略网站长沙seo优化推荐
  • 长春火车站电话咨询电话快排seo
  • 龙城建设网站公司网站内容优化方法
  • 南通网站建设搭建网站卖链接
  • 驻马店市做网站seo臻系统
  • 找公司做网站怎么图片都要自己找百度推广官网电话
  • 网站小样用什么做seo外链平台热狗
  • 建站点的步骤sem是什么
  • 深圳专业做网站的衡水网站优化推广
  • 徐汇科技网站建设2345中国最好的网址站
  • 邢台论坛吧百度seo收录软件
  • 做国外服务器网站吗怎么让百度搜索靠前
  • 做动态图网站有哪些自建站怎么推广
  • web网站开发课程设计报告seo技术培训沈阳
  • 会宁网站建设公司网站优化助手
  • 网站设计制作体会2023年5月最新疫情