将xna中的纹理复制到另一个纹理

将xna中的纹理复制到另一个纹理,xna,Xna,我正在加载包含多个精灵纹理的Texture2D。当我加载初始纹理以存储到单独的Texture2D对象时,我想将各个纹理拉出,但似乎找不到任何方法可以让我这样做。SpriteBatch.Draw我认为只能在开始、结束块内调用,对吗 谢谢 我正在加载一个包含 多个精灵纹理。我想要 要拉出单个纹理,请执行以下操作: 当我将初始纹理加载到 存储到单独的Texture2D对象中 你不必这么做,也不应该这么做。访问单个纹理比访问多个纹理更快。此外,纹理存储在GPU纹理内存中。把它分开是没有意义的 相反,您应

我正在加载包含多个精灵纹理的Texture2D。当我加载初始纹理以存储到单独的Texture2D对象时,我想将各个纹理拉出,但似乎找不到任何方法可以让我这样做。SpriteBatch.Draw我认为只能在开始、结束块内调用,对吗

谢谢

我正在加载一个包含 多个精灵纹理。我想要 要拉出单个纹理,请执行以下操作: 当我将初始纹理加载到 存储到单独的Texture2D对象中

你不必这么做,也不应该这么做。访问单个纹理比访问多个纹理更快。此外,纹理存储在GPU纹理内存中。把它分开是没有意义的

相反,您应该专注于编写可以访问sprite工作表中各个sprite的代码。我建议你看看基于精灵的游戏是如何工作的

下面是一个很棒的教程视频系列,可以帮助您:

我正在加载一个包含 多个精灵纹理。我想要 要拉出单个纹理,请执行以下操作: 当我将初始纹理加载到 存储到单独的Texture2D对象中

你不必这么做,也不应该这么做。访问单个纹理比访问多个纹理更快。此外,纹理存储在GPU纹理内存中。把它分开是没有意义的

相反,您应该专注于编写可以访问sprite工作表中各个sprite的代码。我建议你看看基于精灵的游戏是如何工作的


这是一个很棒的教程视频系列,应该可以帮助您:

关于最后一部分,您是对的。必须在开始和结束之间调用Draw。关于最后一部分,您是对的。必须在开始和结束之间调用Draw。我遇到了相同的信息。我已经重构了我的代码,使用一个源矩形,而不是每个存储纹理2D的精灵。在某些图形卡上的XNA中,精灵表的行为很奇怪——即使您使用的是正确的源矩形,如果您正在快速切换到一个拉伸的矩形,精灵中周围的像素可能会影响渲染效果——如果你将每张贴图从工作表复制到它自己的纹理中,这个问题就会完全消失。我遇到了同样的信息。我已经重构了我的代码,使用一个源矩形,而不是每个存储纹理2D的精灵。在某些图形卡上的XNA中,精灵表的行为很奇怪——即使您使用的是正确的源矩形,如果您正在快速切换到一个拉伸的矩形,精灵中的周围像素可能会影响渲染效果——如果将每张图块从工作表复制到它自己的纹理中,则该问题将完全消失。