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

网站权重值在较长时间内是一定的页面优化怎么做批量的网站检查

网站权重值在较长时间内是一定的页面优化,怎么做批量的网站检查,php给一个网站做后台,腾讯推广联盟1.在玩家死亡后,面板里将会有“重来”的选项。计划用这个按钮打开新的level。但是考虑到将来需要在许多不同的地图内选择“重来”,这时候我们需要选择的关卡就不能是一个固定的值,我们需要在一个地方可以选择这一个值。“游戏实例(GameInstan…

1.在玩家死亡后,面板里将会有“重来”的选项。计划用这个按钮打开新的level。但是考虑到将来需要在许多不同的地图内选择“重来”,这时候我们需要选择的关卡就不能是一个固定的值,我们需要在一个地方可以选择这一个值。

“游戏实例(GameInstance)是一个很好的地方,它的生命周期与启动游戏后  游戏的生命周期相同。

创建一个gameinstance的c++类

创建完后,我们需要在函数库里写获取当前level实例的方法

打开xmbwarriorlibrary

//访问游戏实例UFUNCTION(BlueprintPure, Category = "XMBWorrior|FunctionLibrary",meta = (WorldContext  = "WorldContextObject"))static UXMBGameInstance* GetXMBGameInstance(const UObject* WorldContextObject);
UXMBGameInstance* UXMBWarriorFunctionLibrary::GetXMBGameInstance(const UObject* WorldContextObject)
{if (GEngine){if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject,EGetWorldErrorMode::LogAndReturnNull)){return World->GetGameInstance<UXMBGameInstance>();}}return nullptr;
}

启动项目,创建刚刚创建的游戏实例的子类蓝图

然后在项目设置里搜索gameinstance

2。回到游戏实例的代码

// Fill out your copyright notice in the Description page of Project Settings.#pragma once#include "CoreMinimal.h"
#include "GameplayTagContainer.h"
#include "Engine/GameInstance.h"
#include "XMBGameInstance.generated.h"//
USTRUCT(Blueprintable)
struct FXMBGameLevelSet
{GENERATED_BODY()//关卡标签UPROPERTY(EditDefaultsOnly,meta = (Categories = "GameData.Level"))FGameplayTag LevelTag;//关卡引用UPROPERTY(EditDefaultsOnly)TSoftObjectPtr<UWorld> Level;//判断tag是否有效bool IsValid() const{return LevelTag.IsValid() && !Level.IsNull();}};/*** */
UCLASS()
class ARPG_GRIVITY_API UXMBGameInstance : public UGameInstance
{GENERATED_BODY()public://通过标签获取关卡UFUNCTION(BlueprintPure, meta = (gameplaytagfilter = "GameData.Level"))TSoftObjectPtr<UWorld> GetGameLevelByTag(FGameplayTag InTag) const;protected://在引擎中为其分配有效的关卡信息UPROPERTY(EditDefaultsOnly,BlueprintReadOnly)TArray<FXMBGameLevelSet> GameLevelSets;};
// Fill out your copyright notice in the Description page of Project Settings.#include "GameInstance/XMBGameInstance.h"TSoftObjectPtr<UWorld> UXMBGameInstance::GetGameLevelByTag(FGameplayTag InTag) const
{//通过循环从数组内查找当前的关卡for (const FXMBGameLevelSet& GameLevelSet : GameLevelSets){if (!GameLevelSet.IsValid()) continue;if (GameLevelSet.LevelTag == InTag){return GameLevelSet.Level;}}return TSoftObjectPtr<UWorld>();}

再创建两个tag

/* Game Data tags */ARPG_GRIVITY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(GameData_Level_SurvialGameModeMap);ARPG_GRIVITY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(GameData_Level_MainMenuMap);
/* Game Data tags */UE_DEFINE_GAMEPLAY_TAG(GameData_Level_SurvialGameModeMap, "GameData.Level.SurvialGameModeMap");UE_DEFINE_GAMEPLAY_TAG(GameData_Level_MainMenuMap, "GameData.Level.MainMenuMap");

打开WarriorEnumTypes,我们需要创建一个枚举用来设置玩家的输入状态

UENUM(BlueprintType)
enum class EXMBInputMode : uint8
{GameOnly,UIOnly
};

打开library

//重启后设置玩家的inputmodeUFUNCTION(BlueprintCallable, Category = "XMBWorrior|FunctionLibrary",meta = (WorldContext  = "WorldContextObject"))static void ToggleInputMode(EXMBInputMode InInputMode,const UObject* WorldContextObject);
void UXMBWarriorFunctionLibrary::ToggleInputMode(EXMBInputMode InInputMode, const UObject* WorldContextObject)
{APlayerController* PlayerController = nullptr;if (GEngine){if (UWorld* World = GEngine->GetWorldFromContextObject(WorldContextObject,EGetWorldErrorMode::LogAndReturnNull)){//获取玩家控制器PlayerController = World->GetFirstPlayerController();}}if (!PlayerController){return;;}//设置输入模式FInputModeGameOnly GameOnlyMode;FInputModeGameOnly UIOnlyMode;switch (InInputMode){case EXMBInputMode::GameOnly:PlayerController->SetInputMode(GameOnlyMode);PlayerController->bShowMouseCursor = false;break;case EXMBInputMode::UIOnly:PlayerController->SetInputMode(UIOnlyMode);PlayerController->bShowMouseCursor = true;break;default:break;}}

启动项目,进入losescreen设置

进入gameinstance进行设置

http://www.dtcms.com/a/519383.html

相关文章:

  • 从“手动填”到“自动识”:营业执照识别技术革新政务体验
  • ArkUI-X跨平台开发之环境搭建
  • 第六部分:VTK进阶(第170章 MPI 分布式渲染与数据并行)
  • 【GESP】C++四级真题 luogu-B4264 [GESP202503 四级] 二阶矩阵
  • Metasploit+Ngrok快速获取Windows Shell
  • 网站 需求文档最近中文字幕视频2019一页
  • Elasticsearch从入门到进阶——搜索引擎原理
  • 【HarmonyOS 6 特别发布】鸿蒙 6 正式登场:功能升级,构建跨设备安全流畅新生态
  • 【论文精读】AIGCBench:AI 图像生成视频(I2V)的全面评估基准
  • 电子病历语料库构建方法与架构项目全计划(2025扩展版)
  • 刷题网站开发19年做网站
  • 网站建设销售外贸企业网站功能要求
  • 设计神经网络的技巧
  • Java 核心知识点查漏补缺(二)
  • wpf之数据类型转换
  • SpringBoot-Web开发之拦截器
  • 计算机网络:网络基础
  • C++学习——类与对象详细知识点总结
  • C primer plus (第六版)第十一章 编程练习第14题
  • 逆变器之逆变原理
  • PLL说明,quartus和vivado两款软件的pll IP核使用说明
  • Redis全解析:性能、类型与淘汰策略
  • 行业的年龄焦虑本质是“价值重构危机“
  • 自己建的网站无法打开晋城网站制作公司
  • InstructBLIP:迈向通用视觉-语言模型的新里程碑
  • list的底层实现
  • MySQL一键升级脚本(5.7-8.0)
  • 销售网站建设工资多少绿色主色调网站
  • 应用层网络协议深度解析:设计、实战与安全
  • C++:类和对象_bite