ahk吧 关注:855贴子:2,643
  • 12回复贴,共1
求助

求助如何从按住按键循环改成按一下开始再按停止

只看楼主收藏回复

最近玩剑灵,从网上下的别人的取色宏,技能什么的自己猜着里边意思改好了,就是网上的都是按住鼠标侧键一直循环,想改成按一下XButton2开始一直循环再按一次停止,自己实在猜不出来咋写了


IP属地:广东来自Android客户端1楼2024-05-03 08:58回复
    你要成品还是要学方法?


    IP属地:辽宁2楼2024-05-03 21:50
    收起回复
      改成 按一下e 自动跑 ,在按一下结束 ,,目前在刷鸟巢 出本全靠腿,,


      IP属地:黑龙江3楼2024-05-03 22:13
      回复
        开关脚本的逻辑的实现需要用到1:变量,2:settimer计时器,以及3:标签(或者叫子程序,子脚本等)
        第一步要将你的按键宏,由【热键触发模式】改成【标签格式】,而标签的名字你可以自定义,英文,甚至汉字都可以,举例一个简单的F1触发点击R键的宏
        F1::
        send {r}
        return
        改成标签格式的子脚本如下:
        Label_A:
        send {r}
        return
        第二部要使用SETTIMER命令对这个【子脚本】进行控制,你需要先理解下方几个命令的意思
        settimer,Label_A,-1 ;只运行一次Label_A子脚本
        settimer,Label_A,1 ;无限循环运行Label_A子脚本,直至收到OFF命令
        settimer,Label_A,off ;终止Label_A子脚本
        第三部需要你知道一个表达式
        v_Enable:=!v_Enable
        意思是,v_Enable这个变量,每次经过这个表达式的计算后,它的值都会在 1 和 0之间来回切换(v_Enable的变量名你可以改成任何你想改的名称)我们可以依靠这段表达式,作出一个代码开关
        下面三个元素都有了,我们如何通过F1键实现你的目的呢
        F1::
        v_Enable:=!v_Enable ;开关变量的表达式
        If (v_Enable=1) ;当开关是1
        {
        settimer,Label_A,1 ;无限循环运行Label_A子脚本
        }
        else If (v_Enable=0) ;当开关是0
        {
        settimer,Label_A,off ;终止Label_A子脚本
        }
        return
        Label_A: ;你的子脚本
        send {r}
        return
        -------------------------------------------------------------------------------------
        针对二楼的脚本,因为不涉及循环,所以改动可以简化如下:
        e::
        swich:=!swich
        If (swich=1)
        {
        send {w down}
        sleep 65
        send {lshift}
        }
        else
        {
        send {w up}
        }
        return


        IP属地:辽宁4楼2024-05-03 23:49
        收起回复
          我和你相反,我想知道怎么才能按住一直循环,松开就结束


          IP属地:河南5楼2024-05-05 15:26
          收起回复