我有这个结构:
public struct LevelElements
{
public Texture2D levelTexture;
// other variables...
}
我以这种方式初始化它:
for (int i = 0; i < 2; i++)
levelElements[i] = new LevelElements
{
levelTexture = content.Load<Texture2D>("Terrain/level"),
// other variables...
}
textureLevel.SetData
然后我在用方法修改它的同时绘制第一个纹理。
问题是,如果我绘制第二个,它看起来与修改后的第一个相同,而不是从内容加载的原始那个。
为什么两者levelTexture
有相同的参考?不Content.Load<Texture2D>()
创建新实例?
PS:我不需要创建该纹理的副本,我只是在测试我的代码,我发现了这种行为。