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);
	}
}
相关推荐
小碗羊肉12 小时前
【从零开始学Java | 第三十八篇】序列化流(Object Stream)
java·开发语言
百锦再12 小时前
使用JavaScript获取和解析页面内容的完整指南
开发语言·前端·javascript·python·flask·fastapi
iCxhust12 小时前
C#如何实现textbox文本多行输出 且自动换行输出
开发语言·c#
想带你从多云到转晴12 小时前
02、JAVAEE--多线程(二)
java·开发语言·javaee
实在智能RPA12 小时前
Agent 如何处理流程中的异常情况?——2026企业级智能体稳定性架构深度拆解
开发语言·人工智能·ai·架构·php
一只大袋鼠12 小时前
Java JDBC 封装:从原生写法到工具类封装 + 增删改查
java·开发语言·数据库·mysql
txxzjmzlh12 小时前
Java 线程的几种状态
java·开发语言
lly20240612 小时前
JavaScript 对象
开发语言
杰 .12 小时前
立即数与算术转换
开发语言·c/c++
aq553560012 小时前
PHP vs C++ vs 易语言:编程语言终极对比
开发语言·c++·php