cocos2d-x_CCDirector

来源:互联网 发布:少儿英语教学知乎 编辑:程序博客网 时间:2024/04/30 00:46

在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象

wps_clip_image-18817

Cocos2d-x引擎除了提供了CCDirector,还提供了一个CCDisplayLinkDirector,CCDisplayLinkDirector是一个可以自动刷新的CCDdirector。

CCDirector主要函数如下:

CCScene *  getRunningScene (void) //获取当前运行的场景

double  getAnimationInterval (void)//获取当前的FPS

virtual void  setAnimationInterval (double dValue)=0 //设置FPS

bool  isDisplayFPS (void) //是否在屏幕底部显示FPS

void  setDisplayFPS (bool bDisplayFPS) //设置在屏幕底部显示FPS

CC_GLVIEW *  getOpenGLView (void) //获取CCEGLView

void  setOpenGLView (CC_GLVIEW *pobOpenGLView) //设置CCEGLView

bool  isPaused (void) //当然是否适合暂停

unsigned int  getFrames (void) //获取从director开始起,所有被调用的Frames的数量

ccDirectorProjection getProjection (void) //获取OpenGl的projection

void  setProjection (ccDirectorProjection kProjection) //设置Opengl 的projection

bool  isSendCleanupToScene (void) // 场景替换时,是否接收到cleanup时间,若新的的场景是被push进来的,旧的场景不会收到cleanup 事件,若新的场景是被替换进来的,旧的场景就能够收到cleanup事件。

CCSize getWinSize (void) //获取Open gl view的大小,单位为点

CCSize getWinSizeInPixels (void) // 获取以像素为单位的open gl view大小

CCSize getDisplaySizeInPixels (void) //获取以像素为单位的open gl view 的显示区域大小

void  reshapeProjection (const CCSize &newWindowSize) //改变projection的大小

CCPoint convertToGL (const CCPoint &obPoint) //将UIKIT坐标体系转化为opengl坐标体系

CCPoint convertToUI (const CCPoint &obPoint)//将opengl坐标体系转化为UIKIT坐标体系

float  getZEye (void)  //获取缺省镜头Z的位置

void  runWithScene (CCScene *pScene) //运行场景

void  pushScene (CCScene *pScene) //push场景

void  popScene (void)//pop场景

void  replaceScene (CCScene *pScene) //替换场景

void  pause (void) //暂停游戏

void  resume (void) //回复游戏

virtual void  stopAnimation (void)=0 //停止动画

virtual void  startAnimation (void)=0 //开始动画

void  drawScene (void) //每次frame都会被调用,无需自己调用

void  purgeCachedData (void) //删除缓存的数据

void  setGLDefaultValues (void) //设置Opengl的默认值

void  setAlphaBlending (bool bOn) //设置是否启用opengl的alpha通道

void  setDepthTest (bool bOn)//设置是否测试景深

virtual void  mainLoop (void)=0//游戏主循环

void  applyOrientation (void)  //是设备方向设置生效

ccDeviceOrientation getDeviceOrientation (void) //获取设备方向

void  setDeviceOrientation (ccDeviceOrientation kDeviceOrientation) //设置游戏横屏

bool  enableRetinaDisplay (bool enabled) //设置是否启用视网膜屏支持

bool  isRetinaDisplay ()//是否启用视网膜屏支持

void  resetDirector () //重置游戏

static bool  setDirectorType (ccDirectorType obDirectorType) //设置directortype,目前主要有kCCDirectorTypeNSTimer、kCCDirectorTypeMainLloop,kCCDirectorType-ThreadMainLoop、kCCDiretorTypeDisplayLknk