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

        转载之: 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)//获取当前的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   有详细的说明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值