Ok、
私は敵のマトリックスを持っていますEnemy enemyGrid[x, y]
次に、私のコードで、次のように呼び出すことで、敵の1つのインスタンスを取得しますEnemy tmp = enemyGrid[a, b]
しかし、tmpのプロパティを変更した場合、次にオブジェクトをマトリックスから同じオブジェクトtmpにロードしたときに反映されません。
tmpを終了するたびに= null
、変更をグリッド内のオブジェクトに反映させる必要がありますか?
何故ですか?tmpはオブジェクトへの参照を保持するだけで、変更はメインオブジェクトで直接行われると思いました。
ありがとう。
コードの更新:
グリッドへの入力:
Enemy [,] spriteGrid = new Enemy[countCols, countRows];
spriteGrid[x, y] = new Enemy();
オブジェクトにアクセスしてプロパティを変更します。
Enemy tmp = spriteGrid[i, j];
tmp.canShoot = true;
tmp.Update(gameTime, game.Window.ClientBounds);
tmp.canShoot = false;
最後の行(canShoot = false)は、グリッドに格納されているオブジェクトに反映されません。