我正在开发一个3D世界模拟器(www.athpro.com),并在内部处理所有游戏区块(六角形),尺寸为1.0单位x 1.0单位。 UI完全独立,负责“扩展”数据。世界数据类似于矢量图像。现在,我有一个Helper,它接收World数据并将其移交给UI进行渲染。我想知道......它会更简单......而且让Helper对规模一无所知并将缩放仅仅放在UI的肩膀上更为明智吗?
在XNA中,您可以以原生(1x1)比例渲染所有内容(这可能比您想要的游戏世界小得多)并使用矩阵转换来扩展它,无论您想要什么因素一次过,对吗?这就是我想把它留给用户界面的原因之一。
它还使Helper更加清晰,不让它扩展每个向量等。所有对象都通过具有get-only属性的接口传递,因此在我的Helper DLL中我必须按顺序创建每个对象的实现只是扩大它的价值。对于UI中可能更简单的东西来说,似乎有很多混乱和开销。
我知道这是一个奇怪的问题,但我会喜欢你的任何建议。我特别感谢游戏开发者的投入。
谢谢!
答案 0 :(得分:0)
我的观点是你应该保持对象表示和渲染分离,所以我想这意味着在你的UI对象中使用渲染进行缩放,因为你只是缩放,所以你可以渲染。
在绘制对象时,只需使用单个矩阵变换,就不需要操纵每个对象的坐标/比例。