在cocos2d-x里面,游戲的任何時間,只有一個場景對象實例處於運行狀態,該對象可以作為當前游戲內容的整體包對象
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