rpg制作大师吧 关注:78,670贴子:427,915
  • 27回复贴,共1

【教程】ARPG远程敌人智能神走位

只看楼主收藏回复

最近ARPG挺火,某字母加数字君发布的《人在尸城》一炮走红,貌似是看来某哋狱愽壵发布过一个教程贴。问题这教程贴做的敌人有点NC……如果设置的是随机那么玩家向被射都难……如果设置的是接近那么这NC敌人往主角身上前仆后继的撞,不死才怪_(:з」∠)_,所以说,我设置出来了一个并不NC的神走位敌人,虽然没有自动远离主角的功能,但是会自动和主角找水平线╮(╯▽╰)╭
没错,我就是来砸场子的。


1楼2014-12-26 21:11回复
    _(:з」∠)_手抖发上去了……
    @哋獄愽壵 你来打我吧!


    2楼2014-12-26 21:12
    回复
      我们先讨论敌人如何做到神走位的问题吧!
      当然要用到大量的坐标判定_ ( : з 」∠ ) _不多,主角和敌人的XY。
      (因为LZ懒),所以这个教程用到了三个公共事件(其实可以一个不用哒)
      第一个公共事件是双方坐标定位。


      3楼2014-12-26 21:19
      回复
        你应该设计一个会自动和主角找水平线,然后射击,之后快速躲开主角射来的攻击(垂直水平线走)的AI。


        IP属地:辽宁4楼2014-12-26 21:26
        收起回复
          第二个公共事件是玩家被逮住了的判定~我是酱紫的:
          播放声效:‘Phone’,80,100
          播放声效:'Skill1',80,100
          显示图片:1,'瞄准',中心(272,208),(100%,100%),255,正常
          移动图片:1,中心(260,190),(100%,100%),255,正常,@60,等待结束
          移动图片:1,中心(284,236),(100%,100%),255,正常,@120,等待结束
          播放声效:'Heal6',80,100
          移动图片:1,中心(272,208),(100%,100%),255,正常,@60,等待结束
          消除图片:1
          等待:5帧
          显示图片:1,'瞄准',中心(272,208),(100%,100%),255,正常
          等待:5帧
          消除图片:1
          等待:5帧
          显示图片:1,'瞄准',中心(272,208),(100%,100%),255,正常
          等待:5帧
          消除图片:1
          等待:5帧
          显示图片:1,'瞄准',中心(272,208),(100%,100%),255,正常
          等待:20帧
          显示动画:玩家,[铳击/单发],等待结束
          游戏结束
          其实就是先移动坐标再闪烁瞄准,最后“Bomb”一声你就嗝儿屁了~


          5楼2014-12-26 21:30
          回复
            第二个公共事件是并行处理的,判定随意设置一个开关~
            地图上并行一个事件设置行走图为你的敌人~
            然后并行的内容就是第三个公共事件——最主要的那货——+v+重头戏!
            首先我们要获取坐标~肚子空空没有食物胃部怎么吸收营养?
            然后第一步就是让我们的敌人走捷径——玩家的水平线哪个离自己近敌人走那边~
            画图说吧:

            _(:з」∠)_这是下集预告,告诉你这个系统多牛掰而已


            6楼2014-12-26 21:42
            回复
              用事件做这些会爆卡的……


              7楼2014-12-26 21:43
              收起回复
                那就是取得玩家X\Y和自己X\Y的差距咯。
                我们用减法。
                用玩家X-=变量本人X
                玩家Y-=变量本人Y
                然后你会发现可能会出现负数……
                我们就把它转化成正数。
                啥没学过?
                借你抄答案(滚)_(:з」∠)_
                如果变量玩家X<0
                变量玩家X*-1
                结束
                如果变量玩家Y<0
                变量玩家Y*-1
                结束


                8楼2014-12-26 21:47
                收起回复
                  然后是如果玩家X>玩家Y则这样这样,否则那样那样,结束。
                  但如果它们相等呢?
                  不用管,这是细节,反正也是走,这样判定不会卡住。
                  “这样这样”的内容:
                  1.变量刚刚都糟蹋完了,所以重新获取~_(:з」∠)_
                  2.然后如果玩家Y>本人Y,并且开关“瞄准”(第二个公共事件的开关)在关闭情况下则向下移动,否则向上移动。
                  3.如果现在敌人已经朝向你了(如果玩家Y=本人Y),那么就让敌人朝向玩家,并把瞄准开关打开(你被逮住了)。
                  4.否则的话,开关瞄准关闭,消除图片1。(因为有的时候自己在敌人瞄准你的时候你溜了)
                  “那样那样”的内容:
                  1.变量刚刚都糟蹋完了,所以重新获取~_(:з」∠)_
                  2.然后如果玩家X>本人X,并且开关“瞄准”(第二个公共事件的开关)在关闭情况下则向右移动,否则向左移动。
                  3.如果现在敌人已经朝向你了(如果玩家X=本人X),那么就让敌人朝向玩家,并把瞄准开关打开(你被逮住了)。
                  4.否则的话,开关瞄准关闭,消除图片1。(因为有的时候自己在敌人瞄准你的时候你溜了)


                  9楼2014-12-26 21:56
                  回复
                    然后就OK鸟~
                    范例工程请稍后~


                    10楼2014-12-26 21:59
                    回复
                      http://pan.baidu.com/s/1bnhI37L
                      这是VA的,XPVX的明天弄。


                      11楼2014-12-26 22:06
                      收起回复
                        在1.1版中,增加了通关的设定和一口大缸。(大缸无法抵御子弹攻击)游戏一开始的设定有利于主角,建议想通关的童鞋(20秒不死为通关)一定不要乱动。
                        当然,这口大缸也不是一点用处没有——卡Bug

                        看我多机智


                        12楼2014-12-27 10:51
                        回复
                          xp党看不了


                          13楼2014-12-27 10:56
                          收起回复
                            这样做真的不会超卡吗……


                            IP属地:日本来自Android客户端14楼2014-12-28 00:30
                            回复
                              直接找攻击的水平线,然后等待一会儿躲开就行了


                              IP属地:北京来自Android客户端15楼2015-01-17 09:38
                              收起回复