碰撞检测

    最近在做一个小游戏,就是我们大家以前都玩过的坦克大战了。而我负责的一块就是有关于碰撞检测部分。
    本来自己想找个算法一劳永逸的,但是因为自己对于这一块并不是那么的熟悉,所以就从最基础的开始做起。
    首先,我刚刚开始做的时候,就想到检测应该是预警系统,就是说,检测应该是坦克下一步的运动。这里就涉及到一个遍历的问题,我们在这里是肯定要全部检测坦克或者子弹下一步的动作,特别是他们的坐标,这点是我们检测的依据。这里呢,我犯了几个错误,一个函数的公用性,其实我自己在编写那几百行代码的时候,只是为了顺着自己的思路来做,这一点我不想评论对或错,但是后来我花了两个小时去优化我的代码,使我的代码量减少5分之四;
    其次,关于调用系统函数的问题。因为我做到是在手机系统上,他们已经提供了一个函数,给我们方法去让我们直接实现。其实其原理也很简单,就是检测重叠区域。这个方法其实也可以自己写的。
    最后,有个问题就是我们的效率问题,因为我们在检测的时候,是在检测页面上几乎所有的静态变量,或者对象,这个会使我们的效率下降很多啊,当然我们相信arm的效率,这个也是我们敢这样做的原因,其实我们也可以去尝试优化这部分,但是,因为优化的效果并不是很明显,其次,对于对象不超过100个来说,我觉得也无此必要吧

你可能感兴趣的:(游戏,算法)