你好我的名字是瑞恩,我目前正在開發我自己的2D Java遊戲。目前遊戲世界中有很多對象。遊戲重新開始後,世界將隨機放置100髮束,使用陣列列表和樹類進行製作。我的遊戲使用名爲checkcollisions
的類來檢查玩家是否與任何髮束相交。然後將該方法置於update
方法中。當這種方法不被稱爲我得到額外的100 FPS是在那裏我仍然可以得到這個100幀,但仍然檢查碰撞?我真的需要一個FPS提升ASAS我的比賽目前運行在30-50 fps的Java中的低FPS
這裏是checkcollisions代碼:
public void checkCollisions() {
for (int i = 0; i < Placing_Objects.Small_Trees.size(); i++) {
if (player.getBounds().intersects(Placing_Objects.getSmall_Tree().get(i).getBounds())) {
if (gotAxeOn) {Placing_Objects.Small_Trees.get(i).health -= rand.nextInt(3);}
}
if (Placing_Objects.Small_Trees.get(i).health <= 0) {
Placing_Objects.removeSmall_Tree(Placing_Objects.Small_Trees.get(i));
Inventory.addItemToInv("Wood");
Inventory.addItemToInv("Wood");
Inventory.addItemToInv("Stick");
Player.exp += rand.nextInt(3);
challenges.choppedDownTrees += 1;
}
}
}
速度減慢可能是由checkCollisions函數中進行的任何次數的函數調用引起的。玩家所要求的interest()函數是一個可能的罪魁禍首。 – Stieffers
在探查器中運行你的遊戲。 –
什麼是剖析器 – user2876115