我如何简单地管理我的游戏状态? C++
How do i manage my game state simplistically? c++
嗨,我是管理游戏状态的新手,我正在尝试使用枚举列表更改不同的状态。
enum class GENERAL_STATE : int {
menu = 1,
gamestart = 2,
};
和 header class 具有获取和设置状态的方法
class GameControl {
private:
GENERAL_STATE generalState;
public:
GameControl();
~GameControl();
GENERAL_STATE getGeneralState() { return generalState; }
void setGeneralState(GENERAL_STATE gens) { generalState = gens; }
};
我已经使用
设置指针来控制状态
GameControl* gameControl;
在我的游戏循环中,我添加了
switch (gameControl->getGeneralState())
{
case GENERAL_STATE::menu :
{
menu1.draw();
}break;
}
绘制菜单屏幕,但不知何故它崩溃并把我带到这一行
GENERAL_STATE getGeneralState() { return generalState; }
有什么想法吗?
如果你还没有这样做,你必须初始化gameControl
指针。
例如像这样:
GameControl* gameControl = new GameControl();
但别忘了在最后delete
它。
或者更好的是,根本不使用指针:
GameControl gameControl;
switch (gameControl.getGeneralState())
而且在 GameControl
中你应该初始化 generalState
。
嗨,我是管理游戏状态的新手,我正在尝试使用枚举列表更改不同的状态。
enum class GENERAL_STATE : int {
menu = 1,
gamestart = 2,
};
和 header class 具有获取和设置状态的方法
class GameControl {
private:
GENERAL_STATE generalState;
public:
GameControl();
~GameControl();
GENERAL_STATE getGeneralState() { return generalState; }
void setGeneralState(GENERAL_STATE gens) { generalState = gens; }
};
我已经使用
设置指针来控制状态GameControl* gameControl;
在我的游戏循环中,我添加了
switch (gameControl->getGeneralState())
{
case GENERAL_STATE::menu :
{
menu1.draw();
}break;
}
绘制菜单屏幕,但不知何故它崩溃并把我带到这一行
GENERAL_STATE getGeneralState() { return generalState; }
有什么想法吗?
如果你还没有这样做,你必须初始化gameControl
指针。
例如像这样:
GameControl* gameControl = new GameControl();
但别忘了在最后delete
它。
或者更好的是,根本不使用指针:
GameControl gameControl;
switch (gameControl.getGeneralState())
而且在 GameControl
中你应该初始化 generalState
。