当前位置:必发彩票官网 > 次动作函数 >

触发编辑器]鼠标双击事件和双击判定函数

  首先我们新建一个函数:双击,因为是要这个函数做出判定鼠标某个键是否在某个时间段内被双击,那我们就需要设置参数、变量和返回值。

  上面这个参数用来判定鼠标左键的动作,而且方面我们随时设置参数值来判定其他鼠标键。

  变量用来判断鼠标点击动作的时间间隔,而这个变量需要在两次点击之间互动,不能作为局部变量存在于这个函数内每次都被重新赋值,所以使用全局变量:

  开始这个函数的动作之前,我们先来确定这个函数要做什么:鼠标点击一次,返回假,鼠标快速点击两次,返回真,因为双击会有个时间间隔,如果超出这个时限即使再次点击,也返回假。在明确了这些问题之后,继续来写函数。

  这里我们要获取鼠标点击事件中被点击的鼠标按钮,这个函数”点击的鼠标按钮“来达成,它返回被点击的鼠标按钮。用于响应一个“鼠标被点击”的事件。值2就是我们设置的参数”鼠标键“了,用来指定我们需要判定的鼠标键,它的初始值为:左,所以这个条件判定即是:点鼠标左键为真,否则为假。

  这个条件判断全局变量间隔计时是否已经走完,前面我们说了,如果超过时间间隔即使再次点击,也会返回假,这个条件判断即是:间隔计时内则为真,否则为假。第一次运行到这里,间隔计时并没有启动过,所以第一次鼠标点击的判定一定为假,不是双击。我们会在(间隔计时的剩余时间)0.0 条件为假的时候(Else里) 启动计时器,而在这个条件为真时返回真。

  这样我们还没有开启间隔计时。上面说过,鼠标点击事件第一次(间隔计时的剩余时间)0.0 条件判断一定为假,因为没有启动,所以我们在(间隔计时的剩余时间)0.0 条件为假时启动计时器-间隔计时,我们设置计时器时间0.3秒,这样即是鼠标双击在0.3秒内完成,(间隔计时的剩余时间)0.0 条件才会为真。而我们希望这个双击函数本身也能设置这个间隔时长,那就需要另一个参数了。

  现在继续写(间隔计时的剩余时间)0.0 判断为假Else里的动作。

  计时器-启动间隔计时,它是一个一次性的计时器,并且会在现实时间双击间隔秒内结束。

  到此处,只剩第一个条件(点击的鼠标按钮)==鼠标键 为假时的动作了,既然点击的鼠标键并不是我们希望监测的,那很简单,返回假就是了。

  现在要做一个触发器,利用这个函数来做鼠标双击事件判断,新建一个触发器:鼠标双击。

  调试-将”双击!“作为使用类型01的调试输出来显示,并执行在游戏窗口中将其显示

  上面这一大串主要是为了说明判断的依据和逻辑,俗话说授人以鱼不如授人以渔,虽然我本身是个编辑器菜鸟,绝大多数编辑器知识还都没做研究,但既然写教程,就要写清楚。不过说实话,写完之后一看,自己都觉得说不定还是不要写出来的好,本来一个很简单的东西,这么写未免也有点复杂了对吧。下面把这个函数的整体构造和鼠标双击触发器放出来方便查看。

  当然上面的函数还是存在问题的,就是没考虑这个鼠标被点击动作是由哪个玩家发出的,也就是说假如玩家1点了鼠标,玩家2在间隔时间内点了第二次,这个鼠标双击事件中的双击函数判定还是会为真。这样就不科学了。

  那就再加工一下,我们给双击函数加一个参数玩家=任意玩家整数,用来判定玩家。然后把全局变量“间隔计时”设置成值为15的数组。这样就可以判断16个玩家了。然后在双击函数里所有的“间隔计时”索引里调用这个参数。然后条件(间隔计时[玩家]的剩余时间)0.0和计时器-启动间隔计时[玩家]就可以对应每个玩家了。

  最后鼠标双击触发也要改一下,把双击函数的玩家参数设置成“进行触发的玩家”。整个函数和触发如下图:

http://syn992.com/cidongzuohanshu/117.html
点击次数:??更新时间2019-04-12??【打印此页】??【关闭
  • Copyright © 2002-2017 DEDECMS. 织梦科技 版权所有  
  • 点击这里给我发消息
在线交流 
客服咨询
【我们的专业】
【效果的保证】
【百度百科】
【因为有我】
【所以精彩】