0

私はこの構造体を持っています:

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: そのテクスチャのコピーを作成する必要はありません。コードをテストしただけで、この動作が見つかりました。

4

1 に答える 1