Appearance
FText类
构建-方式一
以命名空间的方式对FText进行构建
cpp
#define LOCTEXT_NAMESPACE "TEXT_Panel" // 声明Text名称空间
void xxx::BeginPlay(){ // xxx是你生成的程序文件名
FText tex = LOCTEXT("btn_Volumn", "音量"); // 构建。前一个参数是键,后一个参数是值
}
#undef LOCTEXT_NAMESPACE // 将声明的空间名称宏进行释放
构建-方式二和三
使用NSLOCTEXT对FText进行构建
cpp
void xxx::BeginPlay(){ // xxx是你生成的程序文件名
FText tex = NSLOCTEXT("TEXT_Panel", "btn_Volumn", "音量"); // 空间名称,键值,内容
FText tex1 = FText::GetEmpty(); // 允许为空。这是第三种构建方式
text1 = tex; // 允许赋值。
// 如果希望内容显示在面板上,使用NSLOCTEXT宏构建
}
字符串转FText,数字型转FText
cpp
FString str = tex.ToString(); // tex用上面的
FText f1 = FText::AsNumber(60);
f1.EqualTo(str); // 比较
格式化
cpp
// 方案一
FText f2 = FText::Format(NSLOCTEXT("UECPP", "K2", "OK {0}--{1}"), f1, f1);
UE_LOG(LogTemp, LOG, TEXT("%s"), *f2.ToString());
// 方案二
FFormatArgumentValue arg(f1);
FText f2 = FText::Format(NSLOCTEXT("UECPP", "K2", "OK {0}--"), arg);
UE_LOG(LogTemp, LOG, TEXT("%s"), *f2.ToString());
// 方案三
FFormatNamedArguments Args;
Args.Add(TEXT("name"), tex);
Args.Add(TEXT("hp"), f1);
FText f2 = FText::Format(NSLOCTEXT("UECPP", "K2", "OK {name}--{hp}"), Args);
UE_LOG(LogTemp, LOG, TEXT("%s"), *f2.ToString());