赞
踩
相信大家都知道,egret是一款H5游戏引擎,而且,随着手机性能的提高,H5游戏也逐渐多了起来,好多人在用这款引擎进行H5游戏开发,博主也尝试了一下,但是,在使用过程中,还是发现了有不如意的地方,其中之一,就是该引擎的一个总要部分——计时器,这部分一定要给后来者说明一下,最大的坑,就是这个Timer停不下来,相信好多小伙伴们已经发现了这个问题.
博主在自己的demo中想实现一个按钮的长按事件,当按下一个按钮的时候,就每隔0.3秒调用一个已经写好的方法,当手指从按钮上移除的时候,就取消长按事件,不再调用这个方法,在初始化方法中,创建计时器:
- this.timer = new egret.Timer(300, 0);
- this.timer.addEventListener(egret.TimerEvent.TIMER, this.timerCallFunc, this);
这里创建一个Timer,并设置了调用间隔事件为300毫秒,后面的0表示一直调用timer的回调方法,然后,是给timer添加事件,回调方法名叫做timerCallFunc.这里的设计思路是在按钮开始点击的事件TOUCH_BEGIN中,启动timer,然后,在TOUCH_END中,停止计时器,因此,添加事件监听方法:
- this.button.addEventListener(egret.TouchEvent.TOUCH_BEGIN, this.begin, this);
- this.button.addEventListener(egret.TouchEvent.TOUCH_END, this.end, this);
private flag:number = 0;
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。