私はこの構造体を持っています:
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
ます。
問題は、2 番目のものを描画すると、コンテンツからロードされた元のものではなく、変更された最初のものと同じに見えることです。
両方levelTexture
が同じ参照を持っているのはなぜですか? Content.Load<Texture2D>()
新しいインスタンスを作成しませんか?
PS: そのテクスチャのコピーを作成する必要はありません。コードをテストしただけで、この動作が見つかりました。