美文网首页
LOG&Itr&XML&String Conversions

LOG&Itr&XML&String Conversions

作者: Lif68 | 来源:发表于2019-10-26 11:17 被阅读0次

分类:UE4 C++

标签:数据结构 数据处理 配置文件 log

参考网址:https://wiki.unrealengine.com/index.php?title=String_Conversions:_FString_to_FName,_FString_to_Int32,_Float_to_FString

一些常用的转换工具,不过有可能会丢失信息

参考网址:https://blog.csdn.net/mrma55555/article/details/51880094?locationNum=7

1.调试输出

写入Log文件

UE_LOG(LogTemp,Log,Text("*Your Text"));

UE_LOG(LogTemp,Warning,Text("*Your Text"));

UE_LOG(LogTemp,Error,Text("*Your Text"));

其中,可以通过%f %s 输出特定float和string,如UE_LOG(LogTemp,Warning,Text("%f,%s"),*FloatTypeValue,*StringTypeValue);

向屏幕打印消息

GEngine->AddOnScreenDebugMessage(-1,5.f,FColor::Red,TEXT("*Your Text");

GEngine->AddOnScreenDebugMessage(-1,5.f,FColor::Red,FString::Printf(TEXT("Variable Sample x:%f,y:%f"),*x,*y));

一般会定义成宏快速打印信息

Void AddMessage(text)

{

GEngine->AddOnScreenDebugMessage(-1,5.f,FColor::White,text);

};

2.场景中查找对象

查找Actor的子类:通过类查找Actor,此处以查找静态网格体Actor为例子AStaticMeshActor

for(TActorIterator<AStaticMeshActor>ActorItr(GetWorld());ActorItr;++ActorItr)

{

    AStaticMeshActor *Mesh=*ActorItr;

}

查找Uobject的子类:通过类查找Actor或Component,此处以查找所有Actor类为例子

for (TObjectIterator<AActor> Itr; Itr; ++Itr)

{

    AActor *Component = *Itr;

}

//Object 迭代查找是找继承自UObject的内容,基本上所有UE4的类都是继承自UObject,所以会包括Actor查找所查找的内容

3.Xml文件的使用

/*示例XML文件Test.xml

<?xml version="1.0" encoding="UTF-8"?>

<Value>

    <Gender>Female</Gender>

    <Age>22</Age>

</Value>

*/

使用时需要在项目build.cs文件中添加模块"XmlParser"以激活Xml模块功能,使用时应该添加头文件XmlParser.h

//一般情况下 文件加载路径不应该是绝对路径 我们可以使用FPaths::ProjectUserDir()得到项目路径根路径,从而便可以使用相对路径来进行配置文件的加载

①读取操作:

    FXmlFile InitVariable(L "X:\\Test.xml");

    FXmlNode* root=InitVariable.GetRootNode();

    TArray<FXmlNode*> VarArray = root->GetChildrenNodes();

    FString tempContent=VarArray[0]->GetContent();

②写入操作:

    FXmlFile InitVariable(L"X:\\Test.xml");

    FXmlNode* root = InitVariable.GetRootNode(); 

    TArray<FXmlNode*> VarArray = root->GetChildrenNodes(); 

    VarArray[0]->SetContent("Your content"); 

    VarArray[1]->SetContent("Your content"); 

    InitVariable.Save(L"X:\\Test.xml"); 

    InitVariable.Clear(); 

4.字符类型转换

UnrealString.h里内联函数有说明,各种String的转换

相关文章

网友评论

      本文标题:LOG&Itr&XML&String Conversions

      本文链接:https://www.haomeiwen.com/subject/pvrnpctx.html