私はゲームに取り組んでいますが、2人のarraylistsにオブジェクトを追加して、そのうちの1人を更新するともう一方のオブジェクトが更新されないことに気付きました。これを解決することは可能ですか?複数のarraylistsに同じオブジェクトを追加する
レンダリング時にループしているすべてのタイルのリストがあります。しかし、私はまた、インベントリスロットを取得するためにすべてのゲームタイルをループするのではなく、インベントリクラスにスロットのリスト(Tileを拡張)が必要です。私はスロット(インベントリクラス)追加する場所Game.tilesとInventory.slots
これはされています:
は、私は2つのリストを持っている
for(int i = 0; i< 16; i++){
Slot slot = new Slot();
Game.tiles.add(slot);
slots.add(slot);
}
をそして、私はスロット(インベントリクラス)を変更場所です。
for(int i = 0; i< 16; i++){
slots.get(i).visable = false;
}
問題は、スロットリストのスロットのデータは更新されますが、Game.tilesリストの同じスロットのデータは更新されないということです。
全在庫クラス:http://pastebin.com/KS5BNB3F
両方の配列リストに同じインスタンスを追加しますか? – nbokmans
いいえ...オブジェクトが同じであれば、すべてのリストにその参照があります....リストAのオブジェクトを変更すると、1つのインスタンスにのみ影響します...コードを投稿してください –
.... –