蓝图中对游戏模式(GameMode)进行更改是一件很简单的事情:
选择游戏模式重载和替换下面的不同类型即可。
那么如何在c++里面替换游戏模式呢?如果我们将c++的游戏模式放到这个重载这里就会发现:
可以发现这里都是不可替换的,所以只能在c++内部替换:
来到vs中看一下这个游戏模式里面写了什么,就会发现里面竟然空空如也:
既然这样,我们就给它加一个构造函数:
接下来我们只需要在构造函数里面赋值即可,首先是查看一下gamemode这个父类,看看里面写了什么:
如何替换:
//游戏状态类 记得包含头文件
//GameStateClass = 自己创建的state类::StaticClass();
//玩家控制器类 记得包含头文件
//PlayerControllerClass=自己创建的玩家控制器类::StaticClass();
//玩家状态类 记得包含头文件
//PlayerStateClass=自己创建的玩家状态类::StaticClass();
//HUD类 记得包含头文件
//HUDClass=自己创建的HUD类::StaticClass();
//pawn类
//DefaultPawnClass=自己创建的pawn类::StaticClass();
//观察类
//SpectatorClass=自己创建的观察类::StaticClass();
//这样做好了之后,编译之后在蓝图中就可以看见不同了
比如你在c++里面创建了一个ATestPawn类
那么替换就是这个样子:
DefaultPawnClass=ATestPawn::StaticClass();
如何到蓝图中将自己的c++游戏模式重载上去之后就可以看见自己替换后的样子。