1.如果你只想每个循环里面执行一次,要用this.scheduleOnce, 你现在是创建了25个schedule,每3秒执行1次
2.unschedule用错了,和settimeout不同,unschedule传的应该是执行的函数,比如:this.schedule(a) this.unschedule(a)
谢谢大佬解惑
好的,解决了,谢谢大佬,我还有一个问题,游戏结束后我还需要倒计时15秒,这个我用的计算结束时的15秒后和现在的时间差,但是也是同样的问题,暂停时间,但这个肯定不会停,除了修改逻辑还有没有别的办法
使用缓动 也能做最后这15秒
缓动?缓动动画?
还是希望拥有举一反三的能力啊,倒计时15秒和间隔3秒不是一回事吗?
这个的倒计时是显示在界面上的,而且购买完道具后会重置,不购买道具关闭道具界面就会继续,缓动动画这个想法确实是不错,但是计时器?
之前我也是每个功能单独实现,后面做一个小游戏的时候发现状态机不只是能用于怪物、角色,整个游戏也是可以设置状态的。
比如游戏状态设置为运行,那么执行运行逻辑;游戏状态设置为暂停,那么只运行暂停的逻辑;再加上一个暂停退出状态,或者设置退出暂停的一个settimeout,可以实现倒计时15秒,并且你的逻辑会比较清晰。
像游戏里的计时或者什么的,只要是取的相对时间都首先应该用update里的dt解决,实在解决不了再考虑其他的!别想什么计时器、缓动,这些都是下下策
真不错,想法非常好 
当你在代码里大量使用async/await做异步编程的时候,就能体会到只有update的计时是多的么苍白了。使用schedule和tween的好处就是随时可以在想要的地方暂停这么个三五秒,然后再干接下去的事。不敢想象如果全挪到update里该是什么样的代码灾难
这个能不能监听是否结束,比如说倒计时结束后执行某些逻辑
我这里的暂停是通过一个单例管理类的update,然后写了一套帧同步的逻辑,游戏战斗暂停时,通过管理类,来实现战斗移动等逻辑不再继续。感觉引擎的pause可能影响挺多,虽然用web的 setTimeout可以绕过引擎的pause影响,但感觉最好不要用puase。
当然可以啊。比如我这个数字跳动,我就是在这个帧任务的onUpdate里面去累加dt,直到目标后就执行其他逻辑
是这么个理。核心思路其实还是逻辑跟渲染进行分离。跟引擎的pause是一个道理,只不过他是全局暂停,我们是自己维护需要暂停的逻辑以及允许暂停中继续执行的逻辑
你这么说还真是,schedule和tween的好处确实是可以随手用,还是你考虑的仔细啊
schedule,tween也都是在dt上包装的。哪有什么区别
有个需求:在当前时间以后的1.1秒、2秒、2.5秒分别执行某一个函数。
使用schedule,tween和自己的dt累加实现是一回事吗?
如果这个函数还需要传入dt累加的值(或者是差值)呢?
如果是1000个节点都需要这个需求呢?


