最近评论
正在载入评论列表...
![]() |
![]() |
如果屏幕上有有限个对象的话,则可以使用两个数组而非变量来定义分区。每个对象对应于数组元素的某个特定位,因此可以使用字节数组来管理8个对象、使用16位数组来管理16个对象,以此类推,同时还需要创建一个对照表把每个位和每个特定对象联系起来。每个数组的大小定义了某一维上一个分区的像素个数。例如,在640×480的分辨率下,创建两个数组,每个数组包含10个元素,将会得到宽为64像素、高为48像素的分区。
利用前面介绍的方法中的类似思想来定义一个分区(或多个分区),任何一个对象都有可能存在于该分区(或多个分区),然后查看x数组元素和y数组元素是否均不为零。如果它们均不为零并且两个数组中的位组相同,则必定有另一个对象(不是ghost对象)位于自身附近,然后仅仅对相应于该位组的对象执行冲突检测即可。如图1-19所示。

图1-19 使用分区数组,可以对每个分区存在哪些对象一目了然。
图中显示了对应于每个对象的数组元素的位组