加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

cocos 全局定时器

发布时间:2020-12-14 16:42:07 所属栏目:百科 来源:网络整理
导读:#pragma once#include "CommonHead.h"/*** 全局定时器*/class GlobalSchedule : public TObject {public:// 开始全局定时器 fInterval: 时间间隔 ; fDelay: 延迟运行static void start(float fInterval = 0.0f);// 停止全局定时器static void stop();// 全局
#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);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读