所以我想知道如何運行多維數組而不必使用循環來測試對象是否在矩形中相交然後渲染有趣的?Java渲染僅相交?
目前我使用兩個for循環來通過它,並在嵌套循環內我必須使用intersecting()
方法,因爲這需要發生每一幀我的遊戲正在變得低FPS。我認爲這是因爲我的陣列中有650x350個實體。我將在下面顯示代碼並重申問題。所以我的官方問題是如何測試一個實體是否與我的矩形攝像頭相交,以便它不會延遲遊戲?
for (int x = 0; x < entities.length; x++) // entities.length is 650
{
for (int y = 0; y < entities[0].length; y++) // entities[0].length is 350
{
if (camera.intersecting(entities[x][y]))
{
entities[x][y].render(g); // X and Y indices are multiplied by 32 to get the position
}
}
}
你可以檢查出http://stackoverflow.com/questions/13270491/best-way-to-find-an-intersection-between-two-arrays –
執行位置和實體的大小有關係與他們在陣列中的位置? –
是的,每個指標乘以寬度/高度來獲得位置。 – Dreadnought