UE5 c++打印日志

cpp 复制代码
void AItem::BeginPlay()
{
	Super::BeginPlay();
	UE_LOG(LogTemp,Warning,TEXT("beginPlay"));//打印到日志面板
}
void AItem::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);
	UE_LOG(LogTemp, Warning, TEXT("DeltaTime:%f"), DeltaTime);//打印数字,在可变参数里追加要打印的数字,使用%f规定第一个参数为float类型  %d整数  %u无符号整数
}

UE_LOG:打印宏,打印日志到日志面板

参数一:日志的分类

可选级别:

LogTemp,临时日志

LogActor,Actor相关

LogCharacter,角色相关

LogUI,UI日志

LogAnimation,动画相关

LogGameplay,游戏逻辑

参数二:日志的级别

Dispaly:白色

Warning:黄色

Error:红色

Log:日志

Verbose:详细日志

VerVerbose:最详细的日志

参数3:要打印的内容

参数4...:可变参数

**GEngine->AddOnScreenDebugMessage() 打印日志到屏幕 **

cpp 复制代码
void AItem::BeginPlay()
{
	Super::BeginPlay();
	if (GEngine)//在屏幕上打印
	{
		GEngine->AddOnScreenDebugMessage(1,60.f,FColor::Cyan,FString("Item_OnScreen Message"));
	}
}
void AItem::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);
	if (GEngine)
	{
		//打印带参数的字符串,使用FString的Printf方法
		FString message = FString::Printf(TEXT("DeltaTime:%f"), DeltaTime);
		GEngine->AddOnScreenDebugMessage(1, 60.f, FColor::Cyan, message);
		GEngine->AddOnScreenDebugMessage(2, 60.f, FColor::Cyan, 	FString::Printf(TEXT("DeltaTime:%f"), DeltaTime));
	}
}

GEngine是一个指针,通常会在Beginpaly前就初始化完成,但是为了规范起见,应该用if()检查指针是否为0,为0则为空指针

参数1:日志的key,同一个key不会重复显示

参数2:显示的时长

参数3:颜色 Cyan是青色

参数4:要打印的字符串,只能用FString生成

打印一个字符串参数

cpp 复制代码
void AItem::Tick(float DeltaTime)
{
	Super::Tick(DeltaTime);
	if (GEngine)
	{
		FString Name = GetName();//Actor自带的方法,获取displayName
		FString message = FString::Printf(TEXT("DeltaTime:%s"), *Name);//注意字符串的*不是解析指针,UE对这里进行了重载,*的实际作用是获取一个C风格的字符串,即char[]
		GEngine->AddOnScreenDebugMessage(1, 60.f, FColor::Cyan, message);
	}
}
相关推荐
旖旎夜光15 分钟前
LeetCode 974:和可被 K 整除的子数组(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和
萧瑟余晖18 分钟前
Java深入解析篇十三之Java日志API(JUL)详解
java·开发语言
小小龙学IT29 分钟前
libuv 开源异步 I/O 事件循环库深度解析:Node.js 的心脏,C++ 高性能网络程序的引擎
c++·开源·node.js
彷徨而立37 分钟前
【C/C++】多线程读写普通 int 变量的一些问题(二)
c语言·c++
一只旭宝40 分钟前
五种线程池设计
c++·笔记
luj_176844 分钟前
毒素驱动的生物自毁机制探析
服务器·c语言·开发语言·经验分享·算法
某林2121 小时前
机器人收不住、转不动?执行器死区的原理与三层补偿设计
前端·网络·c++·架构·机器人
海兰1 小时前
【 Python 量化交易】第6章:数据可视化
开发语言·python·信息可视化
多多鼠1 小时前
Tool Calling的信任边界:从协议校验到执行沙箱的完整链路设计
运维·开发语言·网络·人工智能·python·langchain
啊阿狸不会拉杆1 小时前
《计算机网络-自顶向下方法》1.5 协议层次及其服务模型 读书笔记
开发语言·计算机网络·php