植物大战僵尸吧 关注:596,853贴子:5,241,554

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

只看楼主收藏回复

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


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


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


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


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


          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。


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


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

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


                18楼2019-03-04 10:34
                回复
                  2026-10-22 17:36:20
                  广告
                  不感兴趣
                  开通SVIP免广告
                  技术帖,支持


                  IP属地:北京19楼2019-03-04 10:35
                  回复
                    orz


                    IP属地:江苏来自手机贴吧23楼2019-03-04 14:57
                    回复
                      可以在之前的帖子里放本帖链接


                      IP属地:广东来自Android客户端24楼2019-03-04 18:40
                      回复
                        某些不搭梯阵形的小鬼盲点。
                        如图,绿色矩形是小鬼的防御范围,黄色竖线是触发区域边界,红色竖线是击中区域边界,小鬼盲点有3像素,其中左边1像素能构建永动曾。
                        另外有15像素区域,小鬼在冰瓜的击中范围,但不在冰瓜的触发范围。在这15像素内,冰瓜右侧有僵尸触发冰瓜,冰瓜才能击中小鬼。


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


                          26楼2019-03-04 22:05
                          回复
                            有两个有兴趣的小问题请教一下
                            西瓜/冰瓜投出的瓜不飞起来直接拍在脸上的条件是什么呢
                            投射物的飞行曲线是在出手时确定的吗,这样怎么确保砸中僵尸呢


                            IP属地:辽宁来自Android客户端27楼2019-03-05 00:07
                            收起回复
                              2026-10-22 17:30:20
                              广告
                              不感兴趣
                              开通SVIP免广告
                              之前的22楼画错了,删了重发。
                              紫色竖线是触发范围边界,红色竖线是击中范围边界,大喷菇的击中范围是触发范围左右各缩1。
                              如果小喷菇和海蘑菇的横坐标有偏移,触发范围和击中范围也会随着偏移。


                              28楼2019-03-05 12:05
                              收起回复