【发布时间】:2013-09-09 07:57:38
【问题描述】:
我有这个结构:
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 方法修改它的同时绘制第一个纹理。
问题是,如果我绘制第二个,它看起来与修改后的第一个相同,而不是从内容加载的原始那个。
为什么levelTextures 有相同的引用? Content.Load<Texture2D>() 不会新建实例吗?
PS:我不需要创建该纹理的副本,我只是在测试我的代码并发现了这种行为。
【问题讨论】: