【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"可以看到成功保存了修改后的配置项

相关推荐
1204157137 肖哥19 小时前
UE5.7 灯光详解
ue5
狂云歌2 天前
AI写UE的3Dgame
人工智能·3d·ue5·游戏程序
日月云棠6 天前
UE5源码分析之Editor——Blutility模块全面分析
ue5
日月云棠6 天前
UE5源码分析之Editor——BehaviorTreeEditor模块全面分析
ue5
日月云棠6 天前
UE5源码分析之Editor——AssetTagsEditor模块全面分析
ue5
远离UE47 天前
UE5 显存 虚拟内存 深入学习笔记
笔记·学习·ue5
日月云棠7 天前
UE5源码分析之Editor——AnimationSettings模块全面分析
ue5
远离UE48 天前
UE5 SF_VertexShader 如何使用
ue5
电子云与长程纠缠8 天前
UE5 Lyra PocketWorld进行3D内容UI预览 - 上
开发语言·学习·3d·ue5·游戏引擎
电子云与长程纠缠8 天前
UE5 Lyra PocketWorld进行3D内容UI预览 - 下
开发语言·学习·游戏·ui·ue5