c++ SFML多房间游戏设计,如何组织程序?

ergxz8rk  于 2023-07-01  发布在  其他
关注(0)|答案(2)|浏览(101)

当用c++和sfml制作游戏时,如何组织多个级别?在我的游戏中会有多个房间,我计划通过改变sf::View来改变房间,但我不想要一个无组织的冗长的main.cpp,所以我应该让每个房间/关卡成为一个单独的功能吗?或者创建一个类来管理当前的房间/级别,并相应地切换房间?在sfml游戏中组织多个关卡的最好方法是什么?谢谢

9rygscc1

9rygscc11#

要创建一个游戏,我真的鼓励你阅读游戏设计和SFML游戏架构方面的书籍。https://www.sfml-dev.org/learn.php .一个游戏不是一个简单快速的程序制作,必须得到一个真正好的概念。慢慢来,测试SFML并了解您的环境,否则您将失去时间。

6kkfgxo0

6kkfgxo02#

我决定使用一个枚举类,感谢链接和建议domsson。我的enum class和switch语句看起来像这样:

int windowWidth = 5000;//width of window
int windowHeight = 5000;//height of window
sf::View leveltwo(sf::FloatRect(x, y, 5000, 5000));
sf::View start(sf::FloatRect(0, 0, 2500, 1500));
sf::RenderWindow window(sf::VideoMode(windowWidth, windowHeight ), "Awesome Game" );

enum Levels{
    StartRoom, LevelTwo
};
Levels room = StartRoom;
void WhatRoom(int TheLevel){
    switch (room){
        case StartRoom:
            window.setView(start);
            if (TheLevel == 2){
                room = LevelTwo;
            }

        case LevelTwo:
            window.setView(leveltwo);

    }
};

这是非常好的工作。

相关问题