1.3 - 添加日志消息

FPSGameMode 添加日志消息后即可开始在项目中添加代码。日志消息大有用处,可在开发中对代码进行验证和调试。此步骤中,我们将使用日志消息验证实际使用的是 FPSGameMode,而非虚幻引擎提供的默认 Game Mode

FPSProjectGameMode 头文件

  1. Solution Explorer,展开 FPSProject > Source > FPSProject

    InterfaceFile.png

  2. 双击 FPSProjectGameMode.h 打开 FPSGameMode 类的头文件。

  3. 类声明应类似于以下代码:

    UCLASS()
    class FPSPROJECT_API AFPSGameMode : public AGameMode
    {
        GENERATED_BODY()
    };
  4. AFPSProjectGameMode 构造函数声明下添加以下函数声明:

    virtual void StartPlay() override;

    可通过此函数声明覆盖 StartPlay() 函数(继承自 Aactor 类),游戏进程开始后便会将日志消息显示到屏幕上。

  5. FPSProjectGameMode.h 应与以下代码相似:

    // 在 Project Settings 的 Description 页面填入版权声明。
    
    #pragma once
    
    #include "GameFramework/GameMode.h"
    #include "FPSGameMode.generated.h"
    
    /**
     * 
     */
    UCLASS()
    class FPSPROJECT_API AFPSProjectGameMode : public AGameMode
    {
        GENERATED_BODY()
    
        virtual void StartPlay() override;
    };
  6. 在 Visual Studio 中保存头文件。

FPSProjectGameMode CPP 文件

  1. Solution Explorer 中找到 FPSProjectGameMode.cppFPSProject > Source > FPSProject)。

    ImplementationFile.png

  2. 双击 FPSProjectGameMode.cpp 打开 FPSGameMode 类的实现文件。

  3. AFPSProjectGameMode 构造函数下为 StartPlay() 函数添加以下代码行:

    void AFPSProjectGameMode::StartPlay()
    {
        Super::StartPlay();
    
        if (GEngine)
        {
            // 显示调试信息五秒。 
            // -1“键”值(首个参数)说明我们无需更新或刷新此消息。
            GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello World, this is FPSGameMode!"));
        }
    }

    游戏进程开始后,StartPlay() 将以黄色文本显示新调试消息(“Hello World, this is FPSGameMode!”)五秒。

  4. FPSProjectGameMode.cpp 应与以下代码相似:

    // 在 Project Settings 的 Description 页面填入版权声明。
    
    #include "FPSProject.h"
    #include "FPSProjectGameMode.h"
    
    void AFPSProjectGameMode::StartPlay()
    {
        Super::StartPlay();
    
        if (GEngine)
        {
            // 显示调试信息五秒。 
            // -1“键”值(首个参数)说明我们无需更新或刷新此消息。
            GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello World, this is FPSGameMode!"));
        }
    }
  5. 在 Visual Studio 中保存 CPP 文件。