二、优化的一些细节
for (let i = 0; i < length; i++) {
this.scheduleOnce(() =>{
let item = cc.instantiate(this.prefab);
// do init
// 处理初始化完毕后的逻辑
if (i === length -1) {
// do something
}
}, 0.01);
}
动态修改定时器的Interval:在实际项目中会遇到很多需求,比如一个发射炮弹的enemy,会随着游戏时间或者分数的增长需要越射越快,这时候如果用schedule实现这个功能的话,那么该如何去动态改变定时器的间隔呢?通过查看Cocos Creator schedule的源码发现,如果当前回调函数已经绑定过定时器,那么你再次调用schedule时不会设置新的定时器,而是改变之前定时器的时间间隔。(注意:如果定时器内的回调函数运行时报错,则会一直在定时器这里无限循环)
if (timer && callback === timer._callback) {
cc.log(1507, timer.getInterval(), interval)
timer._interval = interval;
return;
}
不积跬步无以至千里,通过项目实战学到的一些新东西和一些知识遗漏的地方,记录下来不仅能让自己以后再看的时候温故而知新, 也能让遇到类似问题的同学有一个新思路,菜是原罪,不断学习,才能变强~~~~共勉。
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- nryq.cn 版权所有 赣ICP备2024042798号-6
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务