我正在嘗試製作一款全自動遊戲引擎,需要根據事件進行工作。我面臨的問題是我已經創建了一個地圖類,並且已經在遊戲類中初始化了。它幾乎是靜態的,只有一個地圖存在一個遊戲。通過清除當前地圖中的對象並添加新地圖來加載新地圖。你可以在這裏看到地圖類的來源。Java遊戲開發。快速製作瓷磚地圖。優化建議
http://code.google.com/p/game-engine-for-java/source/browse/src/com/gej/map/Map.java
的主要問題涉及碰撞檢測,在這裏我使用蠻力的碰撞檢測,我不應該。這會使遊戲變慢,我只想檢查碰撞對象是否更接近對象。我一直在使用MapLoader接口來構建地圖。我在想在另一個線程中調用對象的collision()方法可能會有所幫助。但是所有的地圖對象都是在Game類中更新的。
下面是遊戲類,如果在情況下,它可能會幫助
http://code.google.com/p/game-engine-for-java/source/browse/src/com/gej/core/Game.java
有一些倍,對象不被破壞的問題。我打電話給地圖的removeObject()方法,但它需要1秒的延遲,有時不會刪除。
它給了我48-64 fps的平臺遊戲中的158個對象在遊戲中。但在太空侵略者風格的遊戲中,它只能提供20-30幀/秒的速度。任何意見的優化,不勝感激...
如果有人能夠得到我的教程二進制間距等,我會感激。
代替使用rectan的我可以自己檢查邊界... –
修改Game類中的線程。現在碰撞檢測是在單獨的線程中完成的,現在碰撞檢測對於地圖中的多達3000個對象是快速的。降低1-2 fps,但對於簡單的2D引擎就足夠了 –