所以我試圖用eclipse開發一個基於磁貼的遊戲,並且我遇到了如何將資源文件夾中的資源加載到ArrayList中的問題。我有一個文件閱讀器,可以將所有需要的文件 加載到一個列表中,但是我不能爲每個tile類型(grass,stone等)使用class文件夾,因爲ArrayList只能存儲一個類類型。有沒有辦法將tile超類的所有子類加載到單個ArrayList中。將資源加載到基於圖塊的遊戲的ArrayList中。 (Java)
0
A
回答
1
如果您有一個父類(或接口),其他所有類都可以擴展,那麼您可以簡單地使用該父類的ArrayList。只需創建一個Tiles的ArrayList。
List<Tile> tiles = new ArrayList<Tile>();
Tile a = new GrassTile(); //GrassTile extends Tile
Tile b = new StoneTile(); //StoneTile extends Tile
tiles.add(a);
tiles.add(b);
for(Tile t : tiles){
t.doTileStuff();
}
編輯:你也可以重新考慮你的設計,並試圖支持composition over inheritance。而不是有一堆擴展Tile的類,有一個Tile類,它包含確定它的行爲和外觀的屬性。
0
如果試圖放入單個數組列表中的tile是超類的子類,那麼可以將您的數組列表設置爲在將超類中的子類僞裝成超類時使用。
相關問題
- 1. 基於Java opengl塊的遊戲性能
- 2. 將資源加載到oracle中的java
- 3. 基於網絡的JavaScript遊戲中的資源文件
- 4. 基於Ogre3D引擎的開源遊戲?
- 5. 基於Servlet的基於遊戲的遊戲
- 6. 爲Java遊戲組織資源
- 7. java陣列和arraylist中的牌遊戲
- 8. java基於Tile的遊戲ArrayIndexOutOfBoundsException錯誤
- 9. 用於將額外級別的圖片加載到遊戲中的服務
- 10. Spring基於Java的配置加載資源(從類路徑)
- 11. Android中的3D遊戲編程資源
- 12. Rails中的遊戲匹配資源?
- 13. 向遊戲資源管理器添加遊戲
- 14. Java腳本 - 將圖片加載到媒體資源中
- 15. 基於圖塊的側滾動玩遊戲的教程?
- 16. 在基於體素的遊戲中的塊管理
- 17. AdMob無法在基於Java的遊戲應用程序中加載
- 18. 遊戲開發資源
- 19. 遊戲資源存儲
- 20. 隱藏遊戲資源
- 21. 遊戲製作資源DLL
- 22. 構建基於iOS的地圖遊戲
- 23. Libgdx:模糊處理的遊戲資源
- 24. 基於文本的遊戲的基本保存遊戲
- 25. 基於級別的遊戲
- 26. 基於文本的遊戲
- 27. 基於PHP的遊戲
- 28. 在Java中加載資源
- 29. Android遊戲資源加載內存不足
- 30. 基於Flash的遊戲已停止加載