上下浮动的提示按钮
同样的,先创建按钮容器,然后增加如下的逻辑。
预览看一下效果。
这里我使用的是上下的浮动,大家可以根据需要去实现各个方向上的浮动效果。
这种效果比较适合游戏中的需要提示地方,在新手教程中会经常用到,来告诉玩家点击这里或者是点那里。
在精致1010中,我将这种效果用在了提示玩家使用道具上。可以看到同时也是搭配了倒计时一起使用,给予玩家足够的反应和判断时间。
另外,我们上方讲过的利用四种不同的行为实现的按钮效果,同样也可以用于实现各种“动起来”的按钮效果,比如说可以隔一段时间旋转一下,翻转一下或者缩放一下等等,具体的实现逻辑都类似,大家可以根据自己游戏的实际情况,酌情选择不同的按钮效果。
最后,我们来讲一下几个具有不同触发条件的按钮的实现方式。
当前工具已经给我们提供了 5 种不同的触发条件,在此就不再赘述。
长按触发的按钮
首先,我们实现一下长按按钮触发的功能,例如长按按钮 1 秒钟之后才进行触发。
先创建一个按钮,然后为其设置两个局部变量。
“触发时间”用于控制按住按钮后多长时间后触发,“开始时间”用于记录当开始点击按钮那一刻的时间。
接着,看一下按钮的实现逻辑。
这里有两块积木需要重点解释一下。
全局计时器:从游戏开始时,这个计时器就开始记录游戏的时间,我们可以通过它来获取到游戏一共进行了多少时间,它的单位是以秒计的。
停止当前精灵的其他事件:这个积木块的作用是可以强行的终止一个事件的运行。例如我们的按下事件正在等待触发时间,此时如果调用“停止事件”积木块,就可以强行的终止按下事件中的逻辑,也就是说我们的按下事件不会再继续执行等待,也不会最终触发。
了解了这两块积木,游戏逻辑就比较好理解了,当按下时,先记录开始时间,然后去不停的判断当前度过的时间是否超过“触发时间”,超过的话,则执行触发逻辑(这里将按钮变红当作触发)。如果在等待期间松手了,那么就强行终止按下的逻辑,按钮也就没有机会被触发了。
预览,看一下长按按钮的效果。
长按按钮 1 秒钟后,按钮变红。
按住后以一定时间间隔触发的按钮
接下来,我们实现一下按住后以一定的时间间隔触发的按钮。
首先还是创建两个需要使用的局部变量。
“开始时间”用于记录每次循环开始的时间,“间隔时间”用于设置触发的间隔。
接着看一下具体的逻辑。
逻辑与长按触发类似,我们通过设置数字的增加来表示逻辑的触发。
点击预览看一下效果。
按住按钮没间隔 0.2 秒触发一次。
在射击游戏中通常不同的武器会有不同的攻击速度,我们可以通过武器的攻击速度来设置触发的间隔时间,实现不同的武器拥有不同射速的功能。
不知道你发现了没有,不论是“长按触发”还是“长按间隔触发”,我都使用的“按下”和“放开”事件,而没有使用“按住”事件,这是为什么呢?留一点儿小疑问,你可以去尝试一下能不能利用“按住”事件实现同样的功能。
按住后可拖动的按钮
最后,我们来实现一个可以按住拖动的按钮。首先创建一个变量。用于记录当前按钮是否被按住。
然后,实现一下逻辑。
逻辑非常的简单,“被按住”变量用于标识当前是否被按住,如果被按住的话,我们就将按钮的位置设置到手指的位置。
预览一下效果。
在拖拽的实现中我仍然没有使用“按住”事件,其实是可以通过“按住”事件来设置按钮的位置的。
你可以尝试一下在“按住”事件中设置位置,然后预览游戏,按住按钮进行快速的拖动,试过之后就能明白为什么不在“按住”事件中处理逻辑了。
总结一下, 在这篇文章中我们讲述了各种各样的按钮。我们可以利用工具提供的各种行为来快速的实现不同的按钮点击效果, 也可以通过“会动的按钮”来引导玩家去关注界面中的某些部分。最后,我们讲了一下在不同条件下触发的一些按钮的实现方式。
我把所有的按钮整理到了一个项目中,项目名称叫做:按钮大集合。
**按钮大集合项目已经开源到社区,大家有需要的可以去自行获取进行改编或参考。
按钮大合集 项目地址: https://gamemaker.weixin.qq.com/#/game?game_id=lbZTZiZWMwNjktYWVmYi00ZmIyLTk3NDItYzU0NzAyMWVmNGYx
希望这篇文章可以帮助你了解到各种各样的按钮以及其应用的场景和实现方法。你可以根据自己游戏的实际情况以及自己想要达到的目的来选择不同的按钮进行使用。
最后欢迎支持一下我的微信小游戏作品“精致1010”,一个会不停成长的小游戏。