【发布时间】:2023-03-14 01:45:01
【问题描述】:
我有一个使用 Java 制作的 LWJGL 和 Slick2D 的游戏。我最近添加了这段代码来获取像素是否为空:
for (Entity e : onscreenents)
if (e.getBlockID() == 1 || e.getBlockID() == -2)
for (int x = e.getX(); x < e.getX() + 18; x++)
for (int y = e.getY(); y < e.getY() + 18; y++)
if (x > 0 && y > 0 && x < empty.length && y < empty[x].length)
empty[x][y] = false;
这段代码在 Eclipse 的 Run 模式下似乎运行良好,但是当我在 Eclipse 的 Debug 模式下启动程序时,游戏运行非常缓慢并且非常有故障。去掉这块代码,让调试模式运行起来和运行模式一样流畅。
有谁知道为什么会这样,是否是我的错?这真的很有帮助:)
【问题讨论】:
-
您可以尝试将 e.get(X|Y) 的调用拉出循环。在调试中,eclipse 可能会觉得需要在每次迭代时实际调用它们。