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

相关推荐
流行易逝10 小时前
7.UE5横板2D游戏,添加分类,创建攻击,死亡逻辑,黑板实现追击玩家行为
游戏·ue5
ue星空10 小时前
UE5行为树浅析
人工智能·ai·ue5·行为树
ue星空2 天前
UE5失真材质
ue5·材质
ue星空3 天前
UE5材质节点Distance
ue5·材质
ue星空3 天前
UE5动画蓝图
ue5·蓝图
青年夏日科技工作者3 天前
UE5.3 虚幻引擎 Linux ubuntu插件开发打包
ue5
ue星空3 天前
UE5材质节点Frac/Fmod
ue5·材质
ue星空3 天前
UE5通过蓝图节点控制材质参数
ue5·材质
ue星空4 天前
UE5材质节点Camera Vector/Reflection Vector
ue5·材质