通过UE_LOG()向日志输出,向其传入三个参数(①输出日志类型,一般LogTemp ②具体种类,普通/警告/错误,这里是Warning ③输出的文本内容,使用TEXT(" "),这里是TEXT("Run AActor BeginPlay"))
代码写好后需要去引擎编译才能用:
现在看到MyActor,属于Actor类,可以放到关卡上,新建basic关卡,将MyActor类拖拽上去,可见坐标轴:
发现没有任何可调参数,所以为了c++类更好编辑,一般会将其转为蓝图类,在“内容”下面新建文件夹存入:
创建完成,将其保存后关闭:
这里来到蓝图类拖出来会有蓝图类的特殊图标:
现在验证运行此蓝图类是否会输出BeginPlay中的日志,点开输出日志并将其停靠在布局中:
运行后发现输出成功,但还包含其他杂乱输出,可使用过滤器过滤:
输出成功:
那么该如何在窗口打印,c++写一句话即可,GEngine->AddOnScreenDebugMessage():传入四个参数:key(定为-1),显示时长(定为5s),文本颜色(FColor::MakeRamdomColor(),随机颜色),文本内容FString(TEXT("Hello C++")) ,最后前往引擎编译即可。
重新运行:
成功在日志与屏幕输出文本。
本次代码:
void AMyActor::BeginPlay()
{
Super::BeginPlay();
UE_LOG(LogTemp, Warning, TEXT("Run AActor BeginPlay"));
GEngine->AddOnScreenDebugMessage(-1, 5, FColor::MakeRandomColor(), FString(TEXT("Hello C++")));
}