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

UE4 C++ UGameInstance实例化

1.创建GameInstance C++类
在这里插入图片描述
2.在.h添加变量

class 工程名称_API UMyGameInstance : public UGameInstance
{
	GENERATED_BODY()
	
public:	//定义了三个公开的变量
	UMyGameInstance();
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyGameInstance")
	FString Name;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyGameInstance")
	float Health;
	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "MyGameInstance")
	int32 Age;
};

3.在.cpp初始化这三个变量值

#include "MyGameInstance.h"

UMyGameInstance::UMyGameInstance()
{
	Name = TEXT("zhangsan");
    Health = 198.4;
    Age = 88;
}

4.接着在其他的文件编写

.h

#include "MyGameInstance.h"	//引用MyGameInstance.h文件,才能引用到MMyGameInstance类里面的内容

UCLASS()
class 工程名称_API A工程名称+类名 : public A基类名
{
//新建一个MyGameInstance类型的指针变量,变量名称为:MyGameInstance
	UPROPERTY()
		UMyGameInstance *MyGameInstance;
}

.cpp

void A工程名称+类名::BeginPlay()
{
	Super::BeginPlay();
	
MyGameInstance = Cast<UMyGameInstance>(GetWorld()->GetGameInstance());
	if(MyGameInstance)
	{
		UE_LOG(LogTemp, Warning, TEXT("MyGameInstance is %s"), *MyGameInstance->GetName());	//注意这里打印的方法,有的带*号
		UE_LOG(LogTemp,Warning, TEXT("MyGameInstance's Name is %s"), *MyGameInstance->Name);
		UE_LOG(LogTemp,Warning, TEXT("MyGameInstance's Health is %f"), MyGameInstance->Health);
		UE_LOG(LogTemp,Warning, TEXT("MyGameInstance's Age is %d"), MyGameInstance->Age);
	}
}

5.设置GameInstance
在这里插入图片描述


http://www.kler.cn/a/228434.html

相关文章:

  • 【C++】std::prev用法
  • 数据结构与算法之递归: LeetCode 131. 分割回文串 (Ts 版)
  • 软件测试—— 接口测试(HTTP和HTTPS)
  • 【深度学习】Java DL4J 2024年度技术总结
  • Android AutoMotive --CarService
  • 【数据挖掘实战】 房价预测
  • vue项目中的 .env.development 文件怎么编写
  • GPT-4是什么?如何使用GPT-4?
  • 使用freemarker和itextpdf结合,将html转化为pdf
  • LLM大模型
  • Golang专家级教程:crypto/rand 库的使用技巧与最佳实践
  • EtherCAT FP介绍系列文章—UDP gateway
  • GO 的 Web 开发系列(四)—— 静态资源文件访问的几种方式
  • 超越原生:探索Node.js中最佳文件系统三方库
  • 新概念英语第二册(53)
  • 小华和小为的聚餐地点 - 华为OD统一考试
  • [linux] kolla-ansible 部署的openstack 修改mariadb默认端口号
  • Linux 驱动开发基础知识——设备树的语法驱动开发基础知识(九)
  • 3593 蓝桥杯 查找最大元素 简单
  • 计算机网络(复习资料)
  • EasyX图形库学习(二、文字输出)
  • vulhub中Apache APISIX Dashboard API权限绕过导致RCE(CVE-2021-45232)
  • 【STM32+HAL库+CubeMX】UART轮询收发、中断收发、DMA收发方法及空闲中断详解
  • 了解 WebSocket 和 TCP :有何不同
  • Qt/C++音视频开发65-切换声卡/选择音频输出设备/播放到不同的声音设备/声卡下拉框
  • Java智慧云智能教育平台