![]() |
1
6
我会尽力使你的对象尽可能通用,尽量避免把游戏事实编码到你的代码中。 例如,您有一个实体、对象或参与者类,该类有一个指向其决策制定(其AI)的指针和一个指向其图形表示的指针。 它的决策必须与游戏事实相结合;事实上 是 游戏事实的一部分。所以你可以把你的决策者命名为“骑士”之类的。 另一方面,图形表示只是一些图形。它将与其他所有实体一样绘制。你有一个模型或者一些位图还有一些动画或者没有…这可以被称为类似“模型”的东西,并将加载它被告知要加载的信息,定义实体在玩家看来是什么样子的。当涉及到呈现你的骑士对你的马对城堡时,你可能会发现他们都用不同的数据做同样的事情。他们拥有的数据种类甚至都是一样的,只是内容不同而已。 假设你的实体都被表示为圆。你只需要让它们指向一个圆形引用器,它采用了应该绘制它们的大小。你不会为你想要的每一个不同大小(或颜色,或其他)的圆创建不同的渲染器类! |
![]() |
2
21
我会创建一个单独的
所有的一切
特定于呈现的属性将进入
|
![]() |
3
6
我知道我要迟到了,但对未来的读者来说,你可能对我写的教程感兴趣。
我不是真正的专家,但我就是这样看待问题的适当分离的:
|
![]() |
Vedant · 如何解决python啦啦队长问题?[已关闭] 2 年前 |
![]() |
cobby · 在战略模式中使用工厂模式? 3 年前 |
![]() |
Nobody · Java中带while循环的三角形模式 3 年前 |
![]() |
Eduard Stefanescu · 如何在层之间传输异常? 7 年前 |
![]() |
D. Schreier Talha Noyon · 对于目录中的每个类 7 年前 |
![]() |
Tanvi Jaywant · 如何重载类 7 年前 |