(转载)cocos2d-X学习之主要类介绍:CCDirector
2013-07-16 01:58
513 查看
转载之:http://www.cnblogs.com/lhming/archive/2012/07/01/2572220.html 感谢原作者的幸苦劳动。
在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象
图示为继承关系图,最底层的父类为CCCopying.
Cocos2d-x引擎除了提供了CCDirector,还提供了一个CCDisplayLinkDirector,CCDisplayLinkDirector是一个可以自动刷新的CCDdirector。
CCDirector主要函数如下:
具体可见CCDirector.h 有详细的说明。
在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象
图示为继承关系图,最底层的父类为CCCopying.
Cocos2d-x引擎除了提供了CCDirector,还提供了一个CCDisplayLinkDirector,CCDisplayLinkDirector是一个可以自动刷新的CCDdirector。
CCDirector主要函数如下:
CCScene * getRunningScene (void) //获取当前运行的场景 double getAnimationInterval (void)//获取当前的FPS virtual void setAnimationInterval (double dValue)=0 //设置FPS C++纯虚函数,必须自己实现。 bool isDisplayFPS (void) //是否在屏幕底部显示FPS 新版本改为isDisplayStats void setDisplayFPS (bool bDisplayFPS) //设置在屏幕底部显示FPS 新版本改为setDisplayStats float getSecondsPerFrame(void) //获取每秒的帧 CC_GLVIEW * getOpenGLView (void) //获取CCEGLView void setOpenGLView (CC_GLVIEW *pobOpenGLView) //设置CCEGLView bool isNextDeltaTimeZero(void) // 获取下次增量时间是否为零 void setNextDeltaTimeZero(bool bNextDeltaTimeZero) //设置下次增量时间是否为0 bool isPaused (void) //当然是否适合暂停 unsigned int getFrames (void) //获取从director开始起,所有被调用的Frames的数量 ccDirectorProjection getProjection (void) //获取OpenGl的projection void setProjection (ccDirectorProjection kProjection) //设置Opengl 的projection void setViewport(void) //设置OpenGL的Viewport bool isSendCleanupToScene (void) // 场景替换时,是否接收到cleanup时间,若新的的场景是被push进来的,旧的场景不会收到cleanup 事件,若新的场景是被替换进来的,旧的场景就能够收到cleanup事件。 CCNode* getNotificationNode() //在主场景被visit之后将被访问的对象,这个对象必须可以执行visit selector。经常用来挂载notification对象,如CCNotifications void 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 有详细的说明。
相关文章推荐
- (转载)cocos2d-X学习之主要类介绍:摄像机(CCCamera)
- cocos2d-X学习之主要类介绍:CCDirector
- (转)cocos2d-X学习之主要类介绍:CCDirector
- cocos2d-X学习之主要类介绍:CCDirector
- (转载)cocos2d-X学习之主要类介绍:场景(CCScene)
- (转载)cocos2d-X学习之主要类介绍:节点CCNode
- cocos2d-X学习之主要类介绍:CCDirector
- (转载)cocos2d-X学习之主要类介绍:精灵角色(CCSprite)
- (转载)cocos2d-X学习之主要类介绍:动作:CCAction
- cocos2d-X学习之主要类介绍:CCDirector
- cocos2d-X学习之主要类介绍:动作:CCAction
- cocos2d-X学习之主要类介绍:摄像机(CCCamera)
- cocos2d-X学习之主要类介绍:摄像机(CCCamera)
- cocos2d-X学习之主要类介绍:场景(CCScene)
- cocos2d-X学习之主要类介绍:节点CCNode
- cocos2d-X学习之主要类介绍:场景(CCScene)
- cocos2d-X学习之主要类介绍:布景:CCLayer
- cocos2d-X学习之主要类介绍:摄像机(CCCamera)
- (转)cocos2d-X学习之主要类介绍:精灵角色(CCSprite)
- cocos2d-X学习之主要类介绍:节点CCNode