簡體   English   中英

我如何簡單地管理我的游戲狀態? C++

[英]How do i manage my game state simplistically? c++

嗨,我是管理游戲狀態的新手,我正在嘗試使用枚舉列表更改不同的狀態。

enum class GENERAL_STATE : int {
menu = 1,
gamestart = 2,
};

以及具有獲取和設置狀態的方法的頭類

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM