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

织梦如何做二级网站佛山营销网站建设服务公司

织梦如何做二级网站,佛山营销网站建设服务公司,合肥最好的网站建设公司,网站 wap 插件一.总体思路: 如果实时加载UE模型,需要先将之前的模型删除。再生成出来,放在根节点,保持相对位置,相对的俯仰角。 void AAirForce::LoadWeapon(int ID, int Type, double X, double Y, double Z) {//m_weaponMap.Emp…

一.总体思路:

如果实时加载UE模型,需要先将之前的模型删除。再生成出来,放在根节点,保持相对位置,相对的俯仰角。

void AAirForce::LoadWeapon(int ID, int Type, double X, double Y, double Z)
{//m_weaponMap.Empty();//生成工厂if (m_weaponMap.Contains(ID)){AActorBase* ab =Cast<AActorBase>(*m_weaponMap.Find(ID));if (ab != nullptr && ab->IsValidLowLevel() && !ab->IsPendingKill()){ab->Destroy();}m_weaponMap.Remove(ID);}ATargetFactory* TargetFactory = GetWorld()->SpawnActor<ATargetFactory>();//FString tmpWeaponPath = UKismetSystemLibrary::GetProjectDirectory() + "Plugins/HMSCore/Saved/Config/" + "AG_300M" + ".Json";FString tmpWeaponPath = UKismetSystemLibrary::GetProjectDirectory() + "Plugins/HMSCore/Saved/Config/" + m_WeaponType[Type] + ".Json";AActorBase* TargetActor = TargetFactory->TargetSpawn(ETargetType::WEAPON_TYPE, tmpWeaponPath);TargetActor->SetID(ID);TargetActor->AttachToComponent(Cast<USceneComponent>(RootComponent), FAttachmentTransformRules::KeepRelativeTransform);TargetActor->SetActorRelativeLocation(FVector(X, Y, Z));//UE_LOG(LogTemp, Warning, TEXT("%f, %f , %f"), it.PositionX, it.PositionY, it.PositionZ);TargetActor->SetActorRelativeRotation(FRotator(0, 0, 0));TargetActor->SetScale(FVector(1, 1, 1));m_weaponMap.Add(ID, TargetActor);TargetFactory->Destroyed; 
}

二.管理Map

TMap<int, UObject*>	m_weaponMap;	//组件字典

首先看武器的Map里是否,包含之前加载的武器模型。如果包含这个ID的武器。找到并拿到它,销毁。然后在Map里移除这个指针。

	if (m_weaponMap.Contains(ID)){AActorBase* ab =Cast<AActorBase>(*m_weaponMap.Find(ID));if (ab != nullptr && ab->IsValidLowLevel() && !ab->IsPendingKill()){ab->Destroy();}m_weaponMap.Remove(ID);}

重新生成,m_WeaponType在构造时初始化,工厂然后通过,工厂生成武器。

	TMap<int32, FString> m_WeaponType;  //武器字典2321F
ATargetFactory* TargetFactory = GetWorld()->SpawnActor<ATargetFactory>();
//FString tmpWeaponPath = UKismetSystemLibrary::GetProjectDirectory() + "Plugins/HMSCore/Saved/Config/" + "AG_300M" + ".Json";
FString tmpWeaponPath = UKismetSystemLibrary::GetProjectDirectory() + "Plugins/HMSCore/Saved/Config/" + m_WeaponType[Type] + ".Json";
AActorBase* TargetActor = TargetFactory->TargetSpawn(ETargetType::WEAPON_TYPE, tmpWeaponPath);

武器生成后,就可以了,然后销毁工厂。

设置ID,让它们绑定到组件上,将根组件变为USceneComponet组件,就有位置信息。

AttachToComponent(USeneComponnet,FAttachmentTransformRules::KeepRelativeTransform).

让后设置相对于根节点的相对位置。

TargetActor->SetID(ID);TargetActor->AttachToComponent(Cast<USceneComponent>(RootComponent), FAttachmentTransformRules::KeepRelativeTransform);TargetActor->SetActorRelativeLocation(FVector(X, Y, Z));//UE_LOG(LogTemp, Warning, TEXT("%f, %f , %f"), it.PositionX, it.PositionY, it.PositionZ);TargetActor->SetActorRelativeRotation(FRotator(0, 0, 0));TargetActor->SetScale(FVector(1, 1, 1));m_weaponMap.Add(ID, TargetActor);TargetFactory->Destroyed; 

如果想要不在跟组件上,就使用如下代码。

			int WeaponID = FCString::Atoi(*it.NodeID);TargetActor->SetID(WeaponID);if (m_childComponentMap.Contains(it.ParentName))TargetActor->AttachToComponent(Cast<USceneComponent>(m_childComponentMap[it.ParentName]), FAttachmentTransformRules::KeepRelativeTransform);elseTargetActor->AttachToComponent(Cast<USceneComponent>(RootComponent), FAttachmentTransformRules::KeepRelativeTransform);TargetActor->SetActorRelativeLocation(FVector(it.PositionX, it.PositionY, it.PositionZ));UE_LOG(LogTemp, Warning, TEXT("%f, %f , %f"), it.PositionX, it.PositionY, it.PositionZ);TargetActor->SetActorRelativeRotation(FRotator(it.RotationPitch, it.RotationYaw, it.RotationRoll));TargetActor->SetScale(FVector(it.ScaleX, it.ScaleY, it.ScaleZ));m_weaponMap.Add(WeaponID, TargetActor);

删除map,可以用for(auto& it:Map).逐个Destroy。再Reset重置。

void HMSTargetManager::RemoveTarget(int targetID)
{AActorBase* ab = *m_TargetMap.Find(targetID);if (ab != nullptr){ab->Destroy();}m_TargetMap.Remove(targetID);
}void HMSTargetManager::RemoveAllTarget()
{for (auto& it:m_TargetMap){AActorBase* ab = it.Value;if (ab != nullptr){ab->Destroy();}}m_TargetMap.Reset();
}

http://www.yayakq.cn/news/148898/

相关文章:

  • 唐山网站公司建设网站原来神马电影网在线观看高清免费
  • 上传网站centos7做网站
  • unas做网站服务器设计模板选项是用来
  • 国外的工业设计网站wordpress后台非常卡
  • 建设安全监督站的网站分类信息发布网站模板
  • 网站首页logo怎么修改做腰椎核磁证网站是 收 七
  • 高端网站建设的方案wordpress p3
  • 免费ps软件网站电子商务网站建设 教案
  • 名人堂网站建设教做家常菜的视频网站
  • 青浦网站建设推广免费开发软件制作平台
  • 青岛网站seo软件下载网站免费大全
  • 辽宁城乡建设集团网站钓鱼网站制作教程视频
  • 网站建站销售提成一建建设网站首页
  • 昆明企业建站模板网站免费源码下载
  • 密云网站建设服务青海西宁做网站多少钱
  • 网站需要多少服务器注册公司后不经营什么后果
  • 隧道建设网站怎么了现在外贸推广做哪个平台
  • 网站建设物理架构颍上做网站
  • 深圳专业网站优化公司报价手机网站公司哪家好
  • 网站开发 图片铺满广告设计学的是什么
  • 河北省住房和城市建设局采购网站江苏seo网络
  • 怎么做网站icp备案互联网建站
  • 上海网站设计与开发公司菜鸟教程python
  • 网站开发团队如何接活网络推广方案七步法
  • 织梦 网站统计wordpress页面构建编辑插件
  • 让wordpress 具有菜单功能徐州关键词排名优化
  • wordpress小说站数据库10m光纤做网站
  • 青海城乡建设部网站首页四川网站建设网站制作
  • 免费的行情软件app网站政务建设网站得必要性
  • 织梦网站网站布局是什么样的