1.3 - 添加日志消息
为 FPSGameMode
添加日志消息后即可开始在项目中添加代码。日志消息大有用处,可在开发中对代码进行验证和调试。此步骤中,我们将使用日志消息验证实际使用的是 FPSGameMode
,而非虚幻引擎提供的默认 Game Mode
。
FPSProjectGameMode 头文件
在 Solution Explorer,展开 FPSProject > Source > FPSProject。
双击
FPSProjectGameMode.h
打开 FPSGameMode 类的头文件。类声明应类似于以下代码:
UCLASS() class FPSPROJECT_API AFPSGameMode : public AGameMode { GENERATED_BODY() };
在
AFPSProjectGameMode
构造函数声明下添加以下函数声明:virtual void StartPlay() override;
可通过此函数声明覆盖
StartPlay()
函数(继承自Aactor
类),游戏进程开始后便会将日志消息显示到屏幕上。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; };
在 Visual Studio 中保存头文件。
FPSProjectGameMode CPP 文件
在 Solution Explorer 中找到
FPSProjectGameMode.cpp
(FPSProject > Source > FPSProject)。双击
FPSProjectGameMode.cpp
打开 FPSGameMode 类的实现文件。在
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!”)五秒。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!")); } }
在 Visual Studio 中保存 CPP 文件。