ccdiector主要函数:
Cocos2d-x引擎除了提供了CCDirector,还提供了一个CCDisplayLinkDirector,CCDisplayLinkDirector是一个可以自动刷新的CCDdirector。
CCDirector是singleton模式的共享的对象。CCDirector 负责scenes之间的前进或后退。另外:CCDirector 负责初始化OpenGL ES。
static CCDirector * sharedDirector (void)// /** 类静态方法,获取全局唯一的CCDirector对象,如不存在则创建并获取对象*/
CCScene * getRunningScene (void) //获取当前运行场景
double getAnimationInterval (void) //获取FPS值
virtual void setAnimationInterval (double dValue)=0 //设置FPS值
bool isDisplayStats (void) //是否显示了FPS值
void setDisplayStats (bool bDisplayStats) //设置是否显示FPS值
float getSecondsPerFrame(); /** 获取每渲染一帧用的时间,单位秒 */
unsigned int getTotalFrames(void); /** 从CCDirector启动以来一共渲染了多少帧*/
CCSize getWinSize (void)/** 返回OpenGL view的大小,单位为点*/
CCSize getWinSizeInPixels (void) /** 返回OpenGL view的大小,单位为像素*/
CCSize getVisibleSize ()/** 返回OpenGL view可见区域的大小,单位为点。
CCPoint getVisibleOrigin ()/** 返回OpenGL view可见区域的原点,单位为点*/
CCPoint convertToGL (const CCPoint &obPoint) /** 将UIKit坐标转换为OpenGL坐标*/
CCPoint convertToUI (const CCPoint &obPoint)/** 将OpenGL坐标转换为UIKit坐标*/
float getZEye (void)
XXX: missing description.
void runWithScene (CCScene *pScene) /** 指定进入Director的主循环运行的场景。ps:仅在运行第一个场景时调用,如果已经存在运行中的场景,不能调用本方法。本方法调用后将调用pushScene方法,然后调用startAnimation*/
void pushScene (CCScene *pScene) /** 将运行中的场景暂停,并push到场景堆栈中,新的场景将被执行。仅当已存在一个运行中的场景时本方法可被调用*/
void popScene (void)/** 从场景堆栈中pop出一个场景,此场景将替换现在正运行的场景,而运行中的场景将被删除。如果场景堆栈中没有可pop的场景,执行将终止。仅当已存在一个运行中的场景时本方法可被调用*/
void popToRootScene (void)/** 从场景堆栈中pop出除根场景外的所有场景,pop出的场景将替换现在正运行的场景,而运行中的场景将被删除。如果场景堆栈中没有可pop的场景,执行将终止。仅当已存在一个运行中的场景时本方法可被调用*/
void replaceScene (CCScene *pScene)/** 使用新场景替换当前场景,当前场景将终止,仅在存在当前场景时可调用*/
void end (void) /** 终止执行,释放运行中的场景,需要手动移除OpenGL view*/
void pause (void)
** 暂停运行中的场景。场景仍然被渲染,当所有定时器将被暂停,同时为了减少CPU消耗,暂停时FPS将降至每秒4帧*/
void resume (void) /** 恢复被暂停的场景,定时器被重新激活,delta time将为0(好像游戏未被暂停一般)*/
virtual void stopAnimation (void)=0/** 停止动画。将停止渲染,主循环停止。如不想停止动画渲染,使用pause方法*/
virtual void startAnimation (void)=0/** 主循环再次被触发,在调用stopAnimation后才能调用此方法。初次启动主循环不能使用本方法,而是应调用runWithScene方法*/
void drawScene (void) /** 绘制场景,每帧都会调用此方法。不要手动调用此方法*/
void purgeCachedData (void) /** 删除缓存数据。包括CCTextureCache、CCSpriteFrameCache、CCLabelBMFont缓存数据*/