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