评论

游戏里的节流和防抖:当事件连续触发,如何拯救你的游戏性能

在高频率触发的事件中,如何巧妙的利用变量控制你的游戏,提高游戏性能

以下内容来自公众号:小游戏可视化开发工具


前言

节流和防抖,本来是属于前端的一对双胞胎兄弟。但是在我们制作游戏的时候,经常会遇到事件触发频率过高导致卡死的状态。


什么节流和防抖

防抖只会在连续的事件周期结束时执行一次,而节流会在事件周期内按间隔时间有规律的执行多次

    

防抖和节流一般会用在高频率触发事件的情景。

比如用户输入查询,当持续在输入框里输入时,并不会发送请求,只有当在指定时间间隔内没有再输入时,才会发送请求,这就是防抖。

     如果在持续的输入过程中,每隔一段时间就发送一次请求,那么这就是节流。

     我们在制作游戏的过程中,也会遇到高频率触发的事件。比如条件判断事件,只要条件符合会不断触发。

那么,如果想要事件触发达到我们想要的次数,该怎么做呢?


游戏里的节流和防抖

根据节流和防抖的概念,我们知道节流是每隔一段时间触发一次,而防抖只会触发一次。

     所以,如果只想触发1次,我们用一个变量来限制事件触发:

  如果想每隔一段时间就触发一次,我们增加一个等待时间:



模拟应用场景

我们现在有一个发动技能的动画效果:鼠标按下时切换到蓄力状态,松开则切换到发动状态。技能触发完毕回归到正常状态,并且技能有2秒的cd。

我们先给精灵添加3种造型:

添加鼠标事件:

效果如下:

这样就实现了我们想要的功能。在游戏中,节流和防抖还有很多的应用场景,期待大家多多发现哦

关注微信公众号和B站账号,更多教程等着你

B站:https://space.bilibili.com/1987758192

公众号:


最后一次编辑于  2021-07-13  
点赞 2
收藏
评论
登录 后发表内容