先创建一个新项目
官网内容非常详细,参照即可。
FPSProjectGameMode.h
我们在此头文件中进行StartPlay()函数重写的声明,之后我们便可以编写自己设定的游戏模式。
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/GameModeBase.h"
#include "FPSProjectGameModeBase.generated.h"
/**
*
*/
UCLASS()
class FPSPROJECT_API AFPSProjectGameModeBase : public AGameModeBase
{
GENERATED_BODY()
private:
virtual void StartPlay() override;//重载父类的StartPlay函数,以设置我们自己的游戏模式
};
FPSProjectGameMode.cpp
接着,我们编写我们新的StartPlay()函数,第一个功能就是添加一个日志消息,日志消息可以帮助我们debug。
// Copyright 1998-2019 Epic Games, Inc. All Rights Reserved.
#include "FPSProjectGameModeBase.h"
void AFPSProjectGameModeBase::StartPlay() {
Super::StartPlay();//必须启用
check(GEngine != nullptr);//替换了if语句的宏而已
//设置日志文本在屏幕显示
GEngine->AddOnScreenDebugMessage(-1, 5.0f, FColor::Yellow, TEXT("Hello World, this is FPSGameMode!"));//参数分别为"-1"防止消息刷新,显示5s,字体为红色,日志内容
}
其他细节
首先,我们可以将自己的C++代码扩展成蓝图类。蓝图类的模式个人感觉更好调整参数
另外,我们需要设置默认游戏模式和默认地图以后,再进行编译,就可以测试我们的StartPlay(),并且查看日志是否正常显示。
以及官网教程提到的