Pec*_*tum 0 xna 2d texture2d xna-4.0 monogame
我正在制作一个测试 xna 游戏作为学习练习,我有一个关于使用 2d 纹理的小问题。基本上,游戏是从文本地图文件中获取的不同“图块”的网格。我基本上只是在初始化关卡时解析文件并创建不同图块类型的矩阵。该关卡本质上是一桶墙砖和钉子。所以本质上,有很多墙砖和多个尖钉砖,然后还有很多空砖。然而,有四种类型的墙砖和钉状纹理来覆盖不同的方向。
我的问题是加载每个图块纹理的最佳方法是什么?我是否为每个图块加载单独的纹理?即当我创建一个图块时,向它传递一个texture2d,我可以同时绘制和加载纹理。这似乎是一个好方法,但是我必须单独加载每个图块纹理,这似乎很浪费。
我能想到的另一个选择是在图块结构中使用静态纹理,然后简单地将此纹理加载为具有不同墙壁和尖峰的图块图集。这样我只加载单个纹理,然后在绘制时我只需将一个矩形移动到精灵内适当图块的区域。
我不确定从性能角度来看,这些方法中哪一种是最佳的,或者是否有其他方法?
提前致谢
内容管道的美妙之处在于,当您这样做时
Content.Load<Texture2D>("sometexture");
Run Code Online (Sandbox Code Playgroud)
它不会每次都加载Texture2D。内容管道足够智能,可以加载一次并每次为该纹理发送回相同的Texture2D。如果您制作静态结构,实际上会更糟。