我的问题是我需要使用Texture2D来表示长度变化的地板,这意味着侧面具有侧面图像的地板,并且在中间它重复相同的"中间"图像,如下所示:

为了实现这一点,我得到了"左边缘","中间"和"右边缘"纹理,问题是我不知道如何将它们合并为一个单一的texture2D,
在运行时这很重要,因为地板长度正在变化(水平),我读到你可以使用SetData做到这一点,但我不知道如何...
对我来说非常重要的是它将作为一个纹理而不是多个纹理部分,因为我使用Farseer Physics Engine来移动地板并使用它.
我在Visual Studio 2010中使用C#和XNA,我是一位几乎经验丰富的C#程序员,
谢谢!
首先,创建一个新的Texture2D作为地板纹理,指定适当的宽度和高度。然后,使用GetData 方法获取要合并的三个纹理的数据。最后,使用SetData方法适当设置新纹理的数据(查看链接,可以指定起始索引)。
警告:GetData 和 SetData 方法速度很慢。如果您只需要在每个游戏中创建一次此纹理(例如在初始化时),那么这不是问题。