如题 ,想用定时器来监控玩家的行为,现在是玩家不点击,定时器5秒后执行下落,然后,3秒的时候,玩家有操作,这个时候,就想让定时器重新计时,该如何完成呢?
this.unschedule()
然后重新
this.schedule
您好,根据手册,我这样写,可是 ,下落的的那个动作还是会执行,可以帮忙看看这样写有什么问题吗?
setHeroControl: function () {
this.callback = function () {
if (this.isFlag == true) {
// 回调时取消这个计时器
this.unschedule(this.callback);
}
this.schedule(this.setMoveDownAction,3);
}
this.schedule(this.callback, 3);
},
//玩家点击
click(){
this.getTime = 0;
}
//假设FPS为60 一秒60帧 5秒300帧
update(dt){
if(this.getTime > 300){
this.downNode.x -= 3; // downNode你要下落的节点
}else{
this.getTime += dt;
}
}
我估计你这个游戏和像素鸟有点相似 可能也会用到update 所以帮你写在update里面了 这个逻辑其实不用定时器也能完成
感谢大佬,解决了困扰了很久的问题!