CCDirector类详解
来源:互联网 发布:常见网络诈骗 编辑:程序博客网 时间:2024/04/28 19:53
转自:http://blog.csdn.net/qiurisuixiang/article/details/8761191
1 CCDirecor(导演)在cocos2d-x引擎中是一个很重要的类,CCDirector使用单例模式实现,所以整个游戏中只有一个导演。CCDirector在整个游戏中扮演很重要的角色:(1)在开始游戏和结束游戏时负责游戏的初始化和销毁工作。(2)管理游戏的关卡,即场景。负责各个场景之间的切换。(3)设置、获取系统信息,比如调整OpenGL相关的设置,获取屏幕的大小等
2 cocos2d-x除了提供CCDirector,还提供一个了一个CCDisplayLinkDirector(一个可以自动刷新的CCDirector)。在cocos2d-x引擎中,CCDirector和CCDisplayLinkDirector类图如下(刚开始学这个工具,大概列举了下,画得不标准)
3 CCDirector是一个单例类,CCDirector类中主要方法解释
- //获取当前的CCDirector唯一实例
- CCDirector* sharedDirector(void);
- //获取当前运行的场景
- CCScene* getRunningScene(void);
- //获取FPS(Frames Per Second)值
- double getAnimationInterval(void);
- //设置FPS值
- void setAnimationInterval(double dValue);
- //是否在屏幕底部显示FPS
- bool isDisplayStats(void);
- //设置在屏幕底部显示FPS
- void setDisplayStats(bool bDisplayStats);
- //获取每秒的帧
- float getSecondsPerFrame();
- //获取CCEGLView,当一切条件提供
- CCEGLView* getOpenGLView(void);
- //设置CCEGLView
- void setOpenGLView(CCEGLView *pobOpenGLView);
- //是否暂停
- bool isPaused(void);
- //Director开始后调用了多少帧
- unsigned int getTotalFrames(void);
- //获取OpenGL的Projection
- ccDirectorProjection getProjection(void);
- //设置OpenGL的Projection
- void setProjection(ccDirectorProjection kProjection);
- //设置OpenGL的Viewport
- void setViewport();
- //场景替换时是否接收到Cleanup事件
- //若新场景是push进来的,旧场景不会接收到Cleanup事件
- //若新场景是replace进来的,旧场景会接收到Cleanup事件
- bool isSendCleanupToScene(void);
- //获取OpenGL View的大小 单位为点
- CCSize getWinSize(void);
- //获取OpenGL View的大小 单位为像素
- CCSize getWinSizeInPixels(void);
- //获取OpenGL View显示区域大小 单位为点
- //如果没调用CCEGLView::setDesignResolutionSize()则值和getWinSize相等
- CCSize getVisibleSize();
- //获取OpenGL View显示区域大小 单位为点
- CCPoint getVisibleOrigin();
- //将UIKit坐标体系转换成OpenGL坐标体系
- CCPoint convertToGL(const CCPoint& obPoint);
- //将OpenGL坐标体系转换成UIKit坐标体系
- CCPoint convertToUI(const CCPoint& obPoint);
- //运行场景 只用在运行第一个场景
- //调用pushScene之后调用startAnimation
- void runWithScene(CCScene *pScene);
- //push场景 只用在有场景运行时替换成新的场景
- void pushScene(CCScene *pScene);
- //pop场景 换删除原来场景 替换成新场景
- void popScene(void);
- //从queue中pop所以场景
- void popToRootScene(void);
- //替换场景 只用在有场景运行时
- void replaceScene(CCScene *pScene);
- //暂停场景
- void pause(void);
- //恢复暂停的场景
- void resume(void);
- //停止动画
- void stopAnimation(void);
- //开始动画
- void startAnimation(void);
- //渲染、绘制场景
- void drawScene(void);
- //删除缓存的数据
- void purgeCachedData(void);
- //设置OpenGL的默认值
- void setGLDefaultValues(void);
- //设置是否启动OpenGl的alpha通道
- void setAlphaBlending(bool bOn);
- //设置是否测试景深
- void setDepthTest(bool bOn);
- CCDirector类详解
- CCDirector类详解
- [cocos2d-x] --- CCDirector类详解
- CCDirector类
- CCDirector 导演 详解
- CCDirector Class Reference (CCDirector 类参考手册)
- [cocos2d-x] - CCDirector种详解
- CCDirector导演类
- CCDirector导演类
- CCDirector导演类
- CCDirector
- CCDirector
- 学习笔记---CCDirector---导演类
- CCDirector类的成员数据
- cocos2d-x核心类剖析-CCDirector类
- 【4】coco2d-x核心类之CCDirector
- cocos2d-x之CCDirector类1
- bombing:cocos2d-x之CCDirector类2
- XSD文件格式
- 【转】计算机视觉、机器学习相关领域论文和源代码大集合
- ort_barrier.c
- 与小伙伴共勉的有关java的JVM的知识(二)
- 【设计模式】之适配器模式
- CCDirector类详解
- MySQL实用语句大全
- ee.h
- listview小结
- 将s3c2416配制成路由器
- 把二元查找树转变成排序的双向链表
- 送给初学者:浅谈面向过程与面向对象
- surf特征+FLANN特征匹配+knn筛选匹配点+单应性矩阵映射
- othr.c