当用c++和sfml制作游戏时,如何组织多个级别?在我的游戏中会有多个房间,我计划通过改变sf::View来改变房间,但我不想要一个无组织的冗长的main.cpp,所以我应该让每个房间/关卡成为一个单独的功能吗?或者创建一个类来管理当前的房间/级别,并相应地切换房间?在sfml游戏中组织多个关卡的最好方法是什么?谢谢
sf::View
9rygscc11#
要创建一个游戏,我真的鼓励你阅读游戏设计和SFML游戏架构方面的书籍。https://www.sfml-dev.org/learn.php .一个游戏不是一个简单快速的程序制作,必须得到一个真正好的概念。慢慢来,测试SFML并了解您的环境,否则您将失去时间。
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); } };
这是非常好的工作。
2条答案
按热度按时间9rygscc11#
要创建一个游戏,我真的鼓励你阅读游戏设计和SFML游戏架构方面的书籍。https://www.sfml-dev.org/learn.php .一个游戏不是一个简单快速的程序制作,必须得到一个真正好的概念。慢慢来,测试SFML并了解您的环境,否则您将失去时间。
6kkfgxo02#
我决定使用一个枚举类,感谢链接和建议domsson。我的enum class和switch语句看起来像这样:
这是非常好的工作。