UE4 从无到有纯 C++ & Slate 开发沙盒游戏(八) Debug打印输出
Debug打印
为了方便查看一些逻辑效果,我们需要添加一个Debug,用来在界面中输出一些内容
首先创建一个普通的类
不需要.cpp文件,保留头文件就好
一个内联函数
D:\UE4 Project\UE26.2\CourseProject\SlAiCourse\Source\SlAiCourse\Public\Common\SlAiHelper.h
#include "CoreMinimal.h" #include "Engine/World.h" #include "Engine/GameEngine.h" namespace SlAiHelper { FORCEINLINE void Debug(FString Message, float Duration = 3.f) { if (GEngine) { //输出一个持续X时间的黄色文字到控制台 GEngine->AddOnScreenDebugMessage(-1, Duration, FColor::Yellow, Message); } } }
调用
D:\UE4 Project\UE26.2\CourseProject\SlAiCourse\Source\SlAiCourse\Private\UI\Widget\SSlAiMenuWidget.cpp
#include ... #include "Common/SlAiHelper.h" BEGIN_SLATE_FUNCTION_BUILD_OPTIMIZATION void SSlAiMenuWidget::Construct(const FArguments& InArgs) { ... ChildSlot [ ... ]; ... } END_SLATE_FUNCTION_BUILD_OPTIMIZATION void SSlAiMenuWidget::MenuItemOnClicked(EMenuItem::Type ItemType) { SlAiHelper::Debug(FString("TEXT"), 5.f); }
游戏中点击按钮,MenuItemOnClicked调用到 Debug 打印