我一直在制作这个基于 2d 瓦片的游戏引擎,用于多个项目。
我有一个名为“ScreenObject”的类,它主要由
Dictionary<Point, Tile>
Point 键是显示在屏幕上渲染 Tile 的位置,并且 Tile 包含一个或多个要在该点绘制的纹理。这个 ScreenObject 是图块将被修改、删除、添加等的地方。
我在测试中绘制瓷砖的原始方法是遍历 ScreenObject 并分别在每个位置绘制每个四边形。根据我的阅读,这是对资源的巨大浪费。在测试中并没有慢到可怕,但是在我完成了动画类和效果类之后,我相信它会非常慢。
最后一件事,如果你不介意的话。正如我之前所说,Tile 类可以包含多个要在屏幕上的 Point 位置绘制的纹理。
我在这里认识到可能有两种选择。为每个要绘制的纹理在该位置添加一个四边形,或者以某种方式..为同一个四边形使用多个纹理(如果可能的话)。即使每个图块仅包含一个纹理,也将在屏幕上绘制 64 个四边形。大多数图块将包含 2-5 个纹理,因此使用此方法总四边形的数量会显着增加。为每个新纹理添加一个四边形是否可行,还是我忽略了更好的方法?