【发布时间】:2014-05-02 07:47:00
【问题描述】:
所以我想知道如何运行一个多维数组,而不必使用 for 循环来测试对象是否在矩形中相交然后渲染有趣?
目前我正在使用两个 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
}
}
}
【问题讨论】:
-
实体的位置和大小是否与其在数组中的位置相关?
-
是的,每个索引乘以宽/高得到位置。
-
另外,世界被放大到 0.8f