-1

对于用 java 编写的小游戏,我有一个主关卡和一个背景关卡。玩家只能在邮件关卡中行走,背景关卡仅供装饰。我编写了一个方法来检查所有可见的背景图块,并将这些图块的坐标放在 int[][][] 中。数组是三维的,因为背景也是三维的。因为背景并不总是可见的,所以我认为我可以通过首先检查单个背景图块是否可见来节省相当多的处理时间。换句话说,检查包含所有可见背景图块的数组是否有任何值写入任何插槽。当图块可见时,数组中的坐标变为 1,否则,它保持默认值(我认为是 0)。

4

2 回答 2

0

If you don't want to go through the whole array every time, then you could keep a flag or similar that tells you whether there are any visible.

Even though you should have plenty of computing power to go through the array 60 times per second :)

于 2013-07-17T18:26:38.073 回答
0

我不认为有一个内置的机制来检查一个数组在 Java 中是否完全为空。但是,除非您的阵列真的很大,否则您不应低估您的计算机。每秒检查 60 次阵列并不需要太多的处理能力。

或者,您可以维护count财产或类似的东西;每当您将数组元素更改为 1 时将其递增,并在将元素设置回 时将其递减null。每当count为 0 时,您都可以假设该数组为空。

另外,需要注意的是,在 Java 中,数组槽被初始化为null,而不是 0。

于 2013-07-17T18:31:08.153 回答