#pragma once#include "Commonhead.h"/*** 全局定时器*/class GlobalSchedule : public TObject {public: // 开始全局定时器 fInterval: 时间间隔 ; fDelay: 延迟运行 static voID start(float fInterval = 0.0f); // 停止全局定时器 static voID stop(); // 全局定时器暂停 static voID pause(); // 全局定时器暂停恢复 static voID resume(); // 全局定时器主逻辑实现 voID globalUpdate(float dt); // 如果是每一帧实现的话 voID update(float dt);private: GlobalSchedule(float fInterval); ~GlobalSchedule(); static GlobalSchedule* m_pSchedule;};
GlobalSchedule* GlobalSchedule::m_pSchedule = nullptr;GlobalSchedule::GlobalSchedule(float fInterval) { CCAssert(!m_pSchedule,"以定义,不能重复定义"); //SCHEDulE->schedule( // schedule_selector(GlobalSchedule::globalUpdate),// this,fInterval,false); g_pDirector->getScheduler()->scheduleUpdateForTarget(this,false); m_pSchedule = this;}GlobalSchedule::~GlobalSchedule() { //g_pDirector->getScheduler()->unscheduleSelector( //schedule_selector(GlobalSchedule::globalUpdate),this); g_pDirector->getScheduler()->unscheduleAllForTarget(this);}voID GlobalSchedule::globalUpdate(float dt) { // 这里写全局定时器的逻辑处理代码 //cclOG("global globalUpdate");}voID GlobalSchedule::update(float dt){ // 这里写全局定时器的逻辑处理代码 //cclOG("global update %.4f",dt);}voID GlobalSchedule::start(float fInterval) { new GlobalSchedule(fInterval);}voID GlobalSchedule::stop() { CCAssert(m_pSchedule,"未定义"); CC_SAFE_DELETE(m_pSchedule);}voID GlobalSchedule::pause() { CCAssert(m_pSchedule,"为定义"); g_pDirector->getScheduler()->pauseTarget(m_pSchedule);}voID GlobalSchedule::resume() { CCAssert(m_pSchedule," 未定义"); g_pDirector->getScheduler()->resuMetarget(m_pSchedule);}总结
以上是内存溢出为你收集整理的cocos 全局定时器全部内容,希望文章能够帮你解决cocos 全局定时器所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)