关于cocos2d::Scheduler的调用重复次数问题
2016-12-08 11:14
253 查看
用schedule函数设置了一个间隔0.1秒不限重复次数的定时任务,在定时任务回调函数中加载图片资源,每次加载一个,直到完成时立即调用unschedule移除定时任务。当图片文件很小的时候没有任何问题,但是加载大图时,在调用了unschedule之后这个定时任务仍然被执行了一次,通过研究引擎源码终于发现了问题所在。
后来在调用schedule时明确指定了重复次数repeat参数,程序终于按照预设行事了。
因此如果你需要精确控制schedule执行次数,最好不要用不限重复次数的方式。
void Timer::update(float dt) { ... ... while (_elapsed >= interval) { trigger(interval); // 调用定时任务 _elapsed -= interval; // 这行是关键 _timesExecuted += 1; if (!_runForever && _timesExecuted > _repeat) { cancel(); break; } if (_elapsed <= 0.f) { break; } } }原来是因为一帧执行时间太长,使_elapsed超过了interval的两倍以上。
后来在调用schedule时明确指定了重复次数repeat参数,程序终于按照预设行事了。
因此如果你需要精确控制schedule执行次数,最好不要用不限重复次数的方式。
相关文章推荐
- 关于GridView的getView方法会多次重复调用的问题
- 关于ListView中getView被重复调用的问题
- 关于NSXMLParser的foundCharacters方法调用次数的问题
- [cocos2d-x]关于update回调,以及继承后子类调用父类的Update处理的问题
- 关于百度地图周边雷达的回调函数会重复调用问题的解决方案
- Android-关于一个界面同级中需要两个listView时,一个ListView被嵌套在ScrollView中,ListView的适配器adapter中的getView执行次数重复问题
- 关于ListView中getView被重复调用多次的问题
- 关于cocos2d调用相册及摄像头问题
- 关于custom adapter 中调用getview()次数的问题
- 关于springMVC拦截器重复调用问题
- 关于Cocos2d-x中音效重复播放问题的解决
- 关于ListView的getView方法被多次重复调用的问题
- 关于重写的listview adapter中,在getView()方法中,打印语句时,相同的position打印了多次,重复调用问题
- 关于ListView中getView被重复调用的问题
- 关于ListView中getView被重复调用的问题
- 关于VS2005里面的FormClosing事件内添加对话框后重复执行的问题
- 关于解决在.Net中调用Excel对象后关闭Excel进程的问题
- easymock中遇到方法调用次数错误的问题
- 关于44b0的中断调用的问题
- 关于远程调用或调用web service的一个问题