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 打印

相关