所以我有列表刪除銷燬所有情況後
public List<Entity> entities;//initialized in constructor by entities = new ArrayList<Entity>();
每當我做這樣的事情
entities.get(1).destroy();
它適用的方法,將同一類的每一個實體(如,如果我有類粘液摧毀()會影響列表中的所有粘液,但沒有其他)。有沒有什麼辦法解決這一問題?
編輯:我只是做了一些測試。顯然它隻影響數組中第一個影響後的實體。
edit2:好吧,更多的測試完成,因此你可能會忽略整個上述部分。在arraylist中,每當我調用remove(int i)時,它都會刪除放入的位置處的對象以及其後的所有對象。
我們需要看到'destroy()'方法有幫助。列表中的實體實際上是不同的'Entity'實例嗎? – 2012-07-18 20:47:10
你確定所有的「slime」變量都沒有引用同一個對象嗎?你如何創建它們? – Hassan 2012-07-18 20:47:51
您可能幾次將相同的實體添加到列表中。確保新的Entity()在填充列表的循環中,而不是在外面。 – 2012-07-18 20:48:30