(转载)cocos2d-X学习之主要类介绍:CCDirector

来源:互联网 发布:精准扶贫数据平台网址 编辑:程序博客网 时间:2024/05/23 01:58
        转载之:http://www.cnblogs.com/lhming/archive/2012/07/01/2572220.html                              感谢原作者的幸苦劳动。  

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

wps_clip_image-18817     图示为继承关系图,最底层的父类为CCCopying.

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

CCDirector主要函数如下:

CCScene *  getRunningScene (void) //获取当前运行的场景double  getAnimationInterval (void)//获取当前的FPSvirtual void  setAnimationInterval (double dValue)=0 //设置FPS  C++纯虚函数,必须自己实现。bool  isDisplayFPS (void) //是否在屏幕底部显示FPS    新版本改为isDisplayStats  void  setDisplayFPS (bool bDisplayFPS) //设置在屏幕底部显示FPS   新版本改为setDisplayStatsfloat getSecondsPerFrame(void)   //获取每秒的帧CC_GLVIEW *  getOpenGLView (void) //获取CCEGLViewvoid  setOpenGLView (CC_GLVIEW *pobOpenGLView) //设置CCEGLViewbool isNextDeltaTimeZero(void)   // 获取下次增量时间是否为零   void setNextDeltaTimeZero(bool bNextDeltaTimeZero)  //设置下次增量时间是否为0bool  isPaused (void) //当然是否适合暂停unsigned int  getFrames (void) //获取从director开始起,所有被调用的Frames的数量ccDirectorProjection getProjection (void) //获取OpenGl的projectionvoid  setProjection (ccDirectorProjection kProjection) //设置Opengl 的projectionvoid setViewport(void)   //设置OpenGL的Viewport bool  isSendCleanupToScene (void) // 场景替换时,是否接收到cleanup时间,若新的的场景是被push进来的,旧的场景不会收到cleanup 事件,若新的场景是被替换进来的,旧的场景就能够收到cleanup事件。CCNode* getNotificationNode()     //在主场景被visit之后将被访问的对象,这个对象必须可以执行visit selector。经常用来挂载notification对象,如CCNotificationsvoid setNotificationNode(CCNode *node);    //设置在主场景被visit之后将被访问的对象CCDirectorDelegate* getDelegate() const;   //void setDelegate(CCDirectorDelegate* pDelegate);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

 

具体可见CCDirector.h   有详细的说明。

原创粉丝点击