2D 游戏开发"God class"
2D Game Development "God class"
我正在使用SFML API在C++中开发2D游戏,但是我在类设计方面遇到了问题。我认为我不遵守SRP(单一责任原则),因为我有一个名为"游戏"的主类应该处理窗口。它包含一个包含主游戏循环的方法。现在的问题;它包含超过5个类的对象(组合),例如播放器,菜单,启动画面。你认为创建这样的"上帝"类是个好主意吗?你知道我可以从中学习的开源C++2D游戏吗?提前谢谢你。
在 Gamedev 网站上看到这个关于 God 类的帖子(是的,它们是一个坏主意,因为紧密耦合会使代码在面对变化时变得不那么健壮)。
不知道 2D,但有一个带有 id-Software 3D 游戏引擎的整个 GitHub 存储库。除了图形之外,这应该为您提供宝库。另请参阅Doom源代码评论,以获取有关编写游戏的良好编码风格的想法。
相关文章:
- 这个语法std::class<>{}(arg1, arg2) 在C++中是什么意思?
- C++核心准则 C35 对于接口类"A base class destructor should be either public and virtual, or protected and nonv
- 使用模板进行堆栈实现; "name followed by :: must be a class or namespace"
- "Undefined class"作为is_base_of的论据
- 如何将class.cpp和class.hpp编译为一个.o文件
- '{'标记之前的预期类名,然后在预声明时无效使用不完整的类型'class class_name'
- 如何使用"derived input class"创建派生类?
- 错误:"Left of getValue must have class/struct/union"
- ' class a : b ' 和 ' class a : public b ' 之间的继承类不同
- Pybind11 Class Definition
- 在C++中使用没有合作伙伴Class/Cpp文件的头文件是否实用
- C2011 'CMemDC':Visual Studio 2019中的'class'类型重新定义
- TypeError: [c++ addon class] 不是构造函数
- C++ class template
- 当初始值设定项是基类名时'initializer does not name a non-static data member or base class'错误
- Clearing Class Foo with new(pFoo) Foo()
- C++ class vs a library
- 继承类时"invalid use of incomplete type ‘class tree_node_t’"
- 使用"class"关键字,后跟未声明的标识符
- 2D 游戏开发"God class"