植物大战僵尸吧 关注:565,596贴子:5,115,001
  • 10回复贴,共1

【补充贴】部分判定范围的计算方法

取消只看楼主收藏回复

之前有个贴子要发“部分判定范围计算方法”,但是因为长时间没更新,楼层已经翻到第3页了,所以开新贴发内容,作为补充,不建议加精,不建议“火钳刘明”。


IP属地:河南1楼2019-03-03 16:29回复
    吧内几年前常用的判定范围,可能最初是为了判断小丑炸植物,因为是以小丑坐标点为爆炸圆心的。
    后来发现游戏自带的调试模式,但是判定范围与吧内已用的判定范围不一致。
    我认为使用调试模式的判定范围更好,主要有以下优点:
    (1)判定范围更符合图像显示。
    普通植物的判定范围在格的中间;
    樱桃炸弹、毁灭菇的爆炸圆心横坐标在格的中间;
    忧郁菇的范围大约是以自身为中心的3*3格;
    时空贴提到警戒区 -60~740 ,如果右移20像素就是 -40~760 ,与可见区(-40~759)大约一致。
    (2)某些描述更简单。
    例如,玉米加农炮炸梯范围:以爆炸圆心所在格为中心的3*3格。
    (3)根据内存数据计算判定范围的步骤更简单。


    IP属地:河南4楼2019-03-03 16:32
    回复
      2025-08-26 03:58:11
      广告
      不感兴趣
      开通SVIP免广告
      判定范围对比:
      如图,绿色加号表示坐标点,僵尸的绿色矩形表示防御范围,植物的蓝色竖线和绿色矩形表示防御范围,橙色竖线是忧郁菇的触发范围边界。
      左图表示吧内几年前常用的判定范围,右图表示调试模式的判定范围。


      IP属地:河南5楼2019-03-03 16:36
      回复
        玉米加农炮爆炸范围:
        蓝色竖线表示准心释放点(在蓝色竖线内的任意点释放准心,爆炸位置是一样的),红色叉号是爆炸圆心,红色圆是伤害范围。炸梯范围(搭在植物上的梯子)由圆心所在格决定。


        IP属地:河南6楼2019-03-03 16:56
        回复
          因为判定范围计算时只取整数,且包含边界,所以实际的范围都比理论值大1,例如:
          普通植物受啃碾砸的理论宽度是20,实际是21;
          普通僵尸防御范围尺寸42*115,实际有43*116;
          西瓜和冰瓜溅射范围理论值60,实际是61;
          忧郁菇范围理论值 触发范围240、击中范围238,实际是触发范围241、击中范围239;
          樱桃炸弹和玉米炮弹的伤害范围都是半径115的圆,对于所在行的伤害范围是231。


          IP属地:河南8楼2019-03-03 17:31
          回复
            普通僵尸内存数据:
            [+8C]=36 防御范围横向偏移
            [+90]=0 防御范围纵向偏移
            [+94]=42 防御范围横向宽度
            [+98]=115 防御范围纵向高度
            [+9C]=20 攻击范围横向偏移
            [+A0]=0 攻击范围纵向偏移
            [+A4]=50 攻击范围横向宽度
            [+A8]=115 攻击范围纵向高度
            以电脑版界面左上角为坐标原点(0,0),调试模式的僵尸判定范围计算方法:
            左边界=横坐标+横向偏移,右边界=左边界+横向宽度;
            上边界=纵坐标+纵向偏移,下边界=上边界+纵向高度;
            向右行走的僵尸:右边界=横坐标+120-横向偏移,左边界=右边界-横向宽度。
            例如,x=650,y=135的普通僵尸,防御范围x:686~728,y:135~250,攻击范围x:670~720。
            如果使用左上角(-40,-80)的坐标系,x-40,y-80。


            IP属地:河南15楼2019-03-04 09:18
            回复
              僵尸内存数据中的偏移和尺寸。
              攻击范围纵坐标与防御范围的相同,且没有实际作用,所以不列出。
              灰色表示与普通僵尸相同,浅红色表示与橄榄小鬼等僵尸相同。


              IP属地:河南16楼2019-03-04 09:24
              回复
                植物击中范围:
                紫色竖线及右侧是触发区域,豌豆类的红色区域是必定击中范围,黄色区域是可能击中范围(越左击中可能越小),三线射手对三行的击中范围相同,仙人掌的黄色区域是飞行气球的击中范围。

                玉米投手左侧的黄色区域表示黄油能击中、玉米粒不能击中。


                IP属地:河南18楼2019-03-04 10:34
                回复
                  2025-08-26 03:52:11
                  广告
                  不感兴趣
                  开通SVIP免广告
                  某些不搭梯阵形的小鬼盲点。
                  如图,绿色矩形是小鬼的防御范围,黄色竖线是触发区域边界,红色竖线是击中区域边界,小鬼盲点有3像素,其中左边1像素能构建永动曾。
                  另外有15像素区域,小鬼在冰瓜的击中范围,但不在冰瓜的触发范围。在这15像素内,冰瓜右侧有僵尸触发冰瓜,冰瓜才能击中小鬼。


                  IP属地:河南25楼2019-03-04 21:48
                  回复
                    暂时就发这些,如果有疑问,可以在贴子内提出,我知道的尽量答复。


                    IP属地:河南26楼2019-03-04 22:05
                    回复
                      之前的22楼画错了,删了重发。
                      紫色竖线是触发范围边界,红色竖线是击中范围边界,大喷菇的击中范围是触发范围左右各缩1。
                      如果小喷菇和海蘑菇的横坐标有偏移,触发范围和击中范围也会随着偏移。


                      IP属地:河南28楼2019-03-05 12:05
                      收起回复