跳至主要內容

c2.GameMode|游戏模式

Mr.Si大约 1 分钟u++

头像
使用C++来绑定GameMode的方法

1. 新建GameMode类

类别类名用途
APawn class游戏中的角色代表游戏中的玩家、AI 或者其他角色。控制移动、动画、状态、碰撞等。
AHUD classHeads-Up Display (HUD)用于在屏幕上显示游戏信息,如分数、生命值、小地图等。通常负责在画面上绘制 UI 元素。
APlayerController class玩家控制器处理玩家输入,控制与玩家的交互,例如移动、攻击、交互等。可以操控一个或多个角色。
AGameState class游戏状态负责跟踪整个游戏的全局状态,例如游戏时间、分数、胜利条件等。用于同步状态给所有客户端。
APlayerState class玩家状态保存与玩家相关的状态,如分数、生命值、角色类型等。通常由服务器和客户端各自维护一份。
ASpectatorPawn class观察者角色允许玩家以观察者身份观察游戏,通常用于回放、录像功能或者观察比赛。不与玩家角色相关联,可以自由观察游戏世界。

2. 写入对应的类

#include "GameMode/MenuPlayerController.h"//引入对应头文件
AMainMenuGameMode::AMainMenuGameMode()
{
    // 设置默认的PlayerController类
    PlayerControllerClass = AMenuPlayerController::StaticClass();    
}
头像
这里的PlayerControllerClass是GameMode父类中定义的subclass(子类)

以下截取自:GameModeBase.h,其他类类似写法。

	/** The class of PlayerController to spawn for players logging in. */
	UPROPERTY(EditAnywhere, NoClear, BlueprintReadOnly, Category=Classes)
	TSubclassOf<APlayerController> PlayerControllerClass;

3. 编译使用OR派生蓝图

头像
可以在c++类目录中看到这个GameMode类,也可以再次基于这个GameMode派生蓝图类。