死神vs火影吧 关注:55,596贴子:1,038,000
  • 15回复贴,共1

进阶:技能冷却/限时发动 教程

只看楼主收藏回复

一楼祭度娘


IP属地:江苏1楼2019-08-05 23:19回复
    技能冷却,翻译成设计时的语言就是:在一定时间内不断地使得某技能不可被使用,使技能不可使用的案例为数字君的沉默技能辅助,具体代码在本段下方,效果为禁用SJ。
    $attacker_ctrler.owner_mc_ctrler.getAction().skill1 = null;
    不断使技能不可被使用,也就是使得禁用技能的代码在一段时间内不断地触发,这个效果可以通过在A、B点间每帧都写上禁用技能的代码来实现,当然也有简化写法,称为侦听器写法,需要用到帧频事件,简单的实例附在本段下方,效果为从A点到B点持续执行大括号内的代码(实例内为执行trace("ABCD"))。
    //A点处
    addEventListener(Event.ENTER_FRAME,侦听器的名称);
    function 侦听器的名称(e:Event):void
    {
    trace("ABCD");
    }
    //B点处
    removeEventListener(Event.ENTER_FRAME,侦听器的名称);
    将这两者结合起来就是我们所需要的『技能冷却』了,下面是最终成果,各语句的意义可参考其中的注释。
    //A点处
    //实现$attacker_ctrler接口
    var $attacker_ctrler:*;
    function setAttackerCtrler(attackerCtrler:*):void
    {
    $attacker_ctrler = attackerCtrler;
    }
    //添加侦听器
    addEventListener(Event.ENTER_FRAME,skill1Ban);
    //侦听器的内容
    function skill1Ban(e:Event):void
    {
    //禁用砍技1(SJ)
    $attacker_ctrler.owner_mc_ctrler.getAction().skill1 = null;
    }
    //B点处
    //删除侦听器
    removeEventListener(Event.ENTER_FRAME,skill1Ban);
    //如果主人物在结束禁用时,处于站立状态,则需要下方的代码来手动更新技能状态
    if ($attacker_ctrler.owner_fighter_ctrler.self.mc.currentLabel == "站立")
    {
    //设置砍技1(SJ)的纽带
    $attacker_ctrler.owner_mc_ctrler.setSkill1();
    }


    IP属地:江苏4楼2019-08-05 23:20
    回复
      真的结束


      IP属地:江苏8楼2019-08-06 11:29
      回复
        来自大佬的气势


        IP属地:广东9楼2019-08-06 19:11
        回复
          tql sdl wsl


          IP属地:湖北来自手机贴吧10楼2019-08-06 21:48
          回复
            你有5个楼偷偷被度娘抽了


            IP属地:福建来自Android客户端11楼2019-08-06 23:47
            收起回复
              这个…看不懂…但是看介绍,想起了那个蓝染,就是用的这个吧


              IP属地:福建来自Android客户端12楼2019-08-07 00:57
              收起回复
                大佬


                IP属地:山东来自Android客户端13楼2019-08-07 09:09
                收起回复
                  真好


                  IP属地:浙江来自Android客户端14楼2019-08-08 22:08
                  收起回复