0

我正在制作一个测试 xna 游戏作为学习练习,我有一个关于使用 2d 纹理的小问题。基本上,游戏是从文本地图文件中获取的不同“图块”的网格。我基本上只是在初始化关卡时解析文件并创建不同瓷砖类型的矩阵。关卡本质上是一桶墙砖和钉子。所以本质上,有很多墙砖和多个钉砖,然后是很多空砖。但是,有四种类型的墙砖和尖刺纹理可以覆盖不同的方向。

我的问题是为每个图块加载纹理的最佳方法是什么?我是否为每个图块加载单独的纹理?即,当我创建一个图块时,将它传递给我可以同时绘制和加载纹理的 texture2d。这似乎是一个好方法,但是我必须单独加载每个瓷砖纹理,这似乎很浪费。

我能想到的另一个选择是在瓦片结构中使用静态纹理,然后简单地将此纹理加载为具有不同墙壁和尖峰的瓦片图集。这样我只加载一个纹理,然后在绘制时我只是将一个矩形移动到精灵中适当的瓷砖区域。

我不确定从性能角度来看,这些方法中的哪一种是最佳的,或者是否有替代方法?

提前致谢

4

1 回答 1

5

内容管道的美妙之处在于,当你这样做时

Content.Load<Texture2D>("sometexture");

它不会每次都加载 Texture2D。内容管道足够智能,可以加载一次并每次都为该纹理发送回相同的 Texture2D。如果您制作静态结构,实际上会更糟。

于 2013-07-14T17:52:52.143 回答