进阶高级宏教学 没有最优化只有更优化
下面是解决跳宏的第二个解决方案: 这个方案需要指令,这个指令恐怕绝大多数人都没听说过,我也相信我是第一个将该指令用在正面解决问题上的。 这个指令是:macrowait 我来说明一下这个指令的含义和用法。它的含义是“停止使用宏”,也许有的朋友就觉得好奇了,停止使用宏了,那还要这个指令干什么呢? 事实上如果把宏当做是计算机,这个指令类似于让计算机进入休眠,但它可以设置时限去唤醒技能。因此它的用法就是macrowait X (这里的X是一个数字) 它的意思就是在X秒内禁止使用宏。 (学过计算机知识的可以看看这段,没学过的跳过这一段就行)我研究过,它的原理类似于抢占式的进程调度,即无论之前怎么运行,只要碰到这个指令,就只运行这个指令,其他的指令处于挂起状态,等到这个指令的运行时间快到了,其他指令收到系统给出的信息,其他指令从挂起状态变为就绪状态。 Macrowait指令运行结束之后,释放资源,其他指令收到资源从就绪状态重新变为运行状态。 不了解作系统的可以不用看上面一段,但上面的原理分析并不是没用的。因为停止使用宏应该是不止这一种方法,但之所以要用这个指令来避免跳宏现象则是根据它的运行原理来的,这也是为何不用其他作用类似的指令,因为它们不能解决跳宏问题。 相信说道到这里,一些脑子灵活的朋友也大概知道如何解决跳宏了,话不多说,上图:
这是寻林客的一技能,主体部分和中级宏当中是一样的(快捷键依旧设为F1),但不同之处就在于最后一句加了一个macrowait1。它的意思就是 1秒内不能使用宏,也就是说这一秒你无论怎么去按F1键都没用,技能条都不会动,等能按F1时,刚好技能的公共冷却时间到了,按F1自动跳转到下一个宏(B)上,如图:
在B中也加这一句macrowait1,则你按F1技能不会动,自然也不会跳宏。依次类推,技能C,D也是如此。
|
本资讯及文章仅代表发表厂商及作者观点,不代表叶子猪本身观点!