UE中的UGamelinstance的实例化(UEC++个人学习笔记)

文章介绍了如何在虚幻5(UE5)中使用GameInstance保存全局数据,包括MyAppID、MyUserID和MyName,并在游戏关闭或结束时数据消失的情况。讲解了如何在代码中初始化、引用和获取GameInstance实例以存储和访问这些数据。
摘要由CSDN通过智能技术生成

用GameInstanc保存全局数据,但是游戏关闭或者结束则消失

MyGameInstance.h

创建了三个数据myappid,myuserid,myname

UCLASS()
class CFIRST_API UMyGameInstance : public UGameInstance
{
	GENERATED_BODY()
public:
	UMyGameInstance();
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyInstance")
		FString MyAppID;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyInstance")
		FString MyUserID;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyInstance")
		FString MyName;
};

MyGameInstance.cpp

初始化三个变量

#include "MyGameInstance.h"

UMyGameInstance::UMyGameInstance()
{
	MyAppID = TEXT("123");
	MyUserID = TEXT("456");
	MyName = TEXT("wangwu");
}

在其他文件头文件使用时需要引用

#include"MyGameInstance.h"

然后声明

UPROPERTY()
		UMyGameInstance* MyInstance;

在cpp里实现

	//转换为UMyGameInstance类
	MyInstance = Cast<UMyGameInstance>(GetWorld()->GetFirstPlayerController()->GetGameInstance());
	if (MyInstance)
	{
		UE_LOG(LogTemp, Warning, TEXT("MyInstance is %s"), *MyInstance->GetName());
		UE_LOG(LogTemp, Warning, TEXT("MyAppID is %s"), *MyInstance->MyAppID);
		UE_LOG(LogTemp, Warning, TEXT("MyUserID is %s"), *MyInstance->MyUserID);
		UE_LOG(LogTemp, Warning, TEXT("MyName is %s"), *MyInstance->MyName);

	}

然后在ue5中就可以设置

 选择MyGameInstance

然后运行就能在输出日志里显示出内容

笔记总结来源于:【【虚幻5】UE5C++零基础全网全流程开发从入门到进阶教程合集(持续跟新中)】https://www.bilibili.com/video/BV1Dc411f7nx?vd_source=90cb1ac44856e5e826e2bee8aa9d8a41

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值