ue5 c++学习笔记-01使用UE_LOG宏打印日志

1、语法

UE_LOG(LogTemp,Warning,TEXT("hello world"));

UE_LOG是将日志消息输出到日志文件中的宏。

它采用的第一个输入参数是日志记录类别的名称。引擎中已经内置了许多这些类别,在 CoreGlobals.h 中定义,UE_LOG 宏的第二个参数声明消息的详细程度。上面示例代码中的最后一个参数是日志消息内容,字符串也使用一些printf 格式说明符,以便添加更多参数,如:

UE_LOG(LogTemp,Warning,FString::Printf(TEXT(x = %f, y = %f"), x, y));)

2、消息格式化示例

1、含FString参数的消息:

UE_LOG(LogTemp, Warning, TEXT("The Actor's name is %s"), *YourActor->GetName());

2、含布尔参数的消息:

UE_LOG(LogTemp, Warning, TEXT("The boolean value is %s"), ( bYourBool ? TEXT("true") : TEXT("false") ));

3、含整型参数的消息:

UE_LOG(LogTemp, Warning, TEXT("The integer value is: %d"), YourInteger);

4、含浮点型参数的消息:

UE_LOG(LogTemp, Warning, TEXT("The float value is: %f"), YourFloat);

5、含FVector参数的消息:

UE_LOG(LogTemp, Warning, TEXT("The vector value is: %s"), *YourVector.ToString());

含多个参数的消息:

UE_LOG(LogTemp, Warning, TEXT("Current values are: vector %s, float %f, and integer %d"), *YourVector.ToString(), YourFloat, YourInteger);

3、参数声明类型

虚幻引擎日志详细级别在某些情况下,查看更少或更详细的日志输出很有用。日志详细级别允许轻松控制给定日志中存在的详细级别。如果特定的日志语句比编译时的详细程度更详细,则不会将其编译到游戏代码中。之后,整个日志的级别设置为默认详细程度,可以在Engine.ii文件中更改。可以通过命令行更改运行时详细程度。给定日志的某个详细级别,只有具有匹配或更低详细级别的日志消息才会打印到它。具有较高详细级别的消息将被忽略。

下表列出了所有可用的详细级别,从最低详细到最高:

4、打印日志在屏幕上

在运行时将消息打印到屏幕上严格来说不算作日志记录,因为消息不会保存在文件中。但是,在开发和/或调试时,它通常比使用日志消息更方便,因为它允许你在游戏窗口中查看消息,而无需为日志打开单独的窗口。从实时变量值到函数调用顺序的任何内容都可以通过这种方式轻松查看,如:

GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::White, TEXT("This message will appear on the screen!"));

第一个参数是消息的键(key)。如果key设置为-1,则每次执行这行代码时,都会在屏幕上添加一条新消息。例如,如果将这个添加到Tick()函数中,屏幕很快就会充斥着这些消息流。如果键是正整数(键的类型是uint64),则每条新消息都会用与其键相同的整数替换前一条消息。例如,如果调用上述函数Tick()并将其键修改为1,则游戏中的屏幕上只会看到一条消息,因为每个新调用都会简单地替换它。

第二个参数是显示消息的时长,以秒为单位,它是浮点类型。

第三个参数是一个FColor类型的参数,用来确定文本颜色。最好使用在游戏世界背景下易于阅读的颜色。最简单的方法是使用预定义的颜色常量,例如FColor.White.有关可用颜色常量的完整列表,请参阅此官方文档页面的底部。

第四个参数是消息本身。请注意,整个字符串必须只占用一个参数,因此,有多个参数的情况下需要使用FString:Printf():

GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Red, FString::Printf(TEXT("Some variable values: x = %f, y = %f"), x, y));

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值