【UE5 C++课程系列笔记】19——通过GConfig读写.ini文件

步骤

  1. 新建一个Actor类,这里命名为"INIActor"
  1. 新建一个配置文件"Test.ini"

添加一个自定义配置项

  1. 接下来我们在"INIActor"类中获取并修改"CustomInt"的值。这里定义一个方法"GetINIVariable"

方法实现如下,其中第16行代码用于构建配置文件的完整路径,FPaths::SourceConfigDir() 函数会获取虚幻引擎项目中源配置目录的路径,然后通过 FString::Printf 函数按照格式化的方式将源配置目录路径与文件名 DefaultGame.ini 进行拼接,形成完整的配置文件路径。

第17行定义了一个 int32 类型的变量 MyConfigVariable,用于存储从配置文件中读取出来的整型配置变量的值。

第18行中,TEXT("Custom")表示配置节(Section)的名称;TEXT("CustomInt")是配置项(Key)的名称。

第21行调用 GConfig->SetInt 函数将更新后的 MyConfigVariable 的值写回到配置文件中。

第22行GConfig->Flush(false, DefaultGamePath) 语句用于将之前对配置文件所做的修改保存到配置文件中。

cpp 复制代码
void AINIActor::GetINIVariable()
{
	const FString DefaultGamePath = FString::Printf(TEXT("%sTest.ini"), *FPaths::SourceConfigDir());
	int32 MyConfigVariable;
	GConfig->GetInt(TEXT("MyCustom"), TEXT("CustomInt"), MyConfigVariable, DefaultGamePath);
	UE_LOG(LogTemp, Warning, TEXT("CustomInt:%d"), MyConfigVariable);
	MyConfigVariable += 10;
	GConfig->SetInt(TEXT("MyCustom"), TEXT("CustomInt"), MyConfigVariable, DefaultGamePath);
	GConfig->Flush(false, DefaultGamePath);
}
  1. 编译后,创建基于"INIActor"的蓝图类

这里命名为"BP_INIActor"

将"BP_INIActor"拖入视口

  1. 在关卡蓝图中通过1键调用方法"GetINIVariable"

调用后可以看到成功获取配置文件中配置项的值

打开"Test.ini"可以看到成功保存了修改后的配置项

相关推荐
BugPhysician2 小时前
影之刃零首发UE崩溃排查:着色器缓存、虚拟内存与驱动版本
ue5·影之刃零·影之刃零报错·影之刃零进不去·ue崩溃·ue引擎崩溃·ue5引擎崩溃
电子云与长程纠缠2 天前
UE5魂系游戏开发教程05
开发语言·学习·游戏·ui·ue5
fanfan_hongyun2 天前
UE5.1 蓝图调用C++方法
ue5
易知微EasyV数据可视化2 天前
UE5 中接入 GDAL:从vcpkg编译到插件打包
ue5
努力学习的小廉2 天前
UE5入门系列(一):环境搭建.md
ue5
fanfan_hongyun2 天前
【UE5.1 创建C++文件】
c++·ue5
努力学习的小廉2 天前
UE5 入门系列(二):编辑器基础操作速通
ue5·编辑器
Дерек的学习记录3 天前
Unreal Engine 5:开关门实现和流程控制
开发语言·学习·ue5
远离UE44 天前
拉格朗日 动力学问题
ue5·图形渲染·图形学·动力学
远离UE49 天前
UE5 Substrate Thin Film 源码拆析
开发语言·javascript·ue5