cocos2dx中的导演类

来源:互联网 发布:线切割加工费计算软件 编辑:程序博客网 时间:2024/04/28 21:07

Director是整个cocos2dx引擎的核心,是整个游戏的控制仪,游戏中的一些常用操作就是由Director来控制的,比如OpenGL ES的初始化,场景的转换,游戏暂停继续的控制,世界坐标和GL坐标之间的切换,对节点(游戏元素)的控制等,还有一些游戏数据的保存调用,屏幕尺寸的获取等都要由Director类来管理控制的。
在Cocos2dx中把统筹游戏大局的类抽象为导演(Director),会经常调用进行一些控制,所以该Director利用了单例设计模式。
一下总结一些关于导演类的函数用法:

//创建一个导演类的单例 Director* pDirector = Director::getInstance(); //获得一个glviewGLView* pEGLView = pDirector->getOpenGLView();//设置FPS值pDirector->setAnimationInterval(1.0 / 40)//开始动画Director::getInstance()->startAnimation();//移除所有cocos2dx的缓冲数据cocos2d::Director::getInstance()->purgeCachedData()//场景出栈 删除当前场景Director::getInstance()->popScene()//将一个新场景推入场景栈中 并替换运行场景为这个的新场景Director::getInstance()->pushScene(scene)//结束场景Director::getInstance()->end()//返回opengl的大小 单位为点Director::getInstance()->getWinSize()//返回可见OpenGL视图大小,以点为单位Director::getInstance()->getVisibleSize()//返回可见OpenGL视图起始点,以点为单位Director::getInstance()->getVisibleOrigin()//获取正在执行的场景Director::getInstance()->getRunningScene()//运行某个场景director->runWithScene(scene)//用新场景替换旧场景Director::getInstance()->replaceScene(Scene);//给正在运行的场景添加tag值Director::getInstance()->getRunningScene()->getChildByTag(100)//获得一个调度器Director::getInstance()->getScheduler()

那么getVisibleSize 和 getWinSize 和 getVisibleOrigin有什么不同?

getVisibleSize:获得可视区域的大小。若是设计分辨率跟屏幕尺寸一样大,则getVisibleSize便是getWinSize。getWinSize:获取屏幕大小。getVisibleOrigin:表示可视区域的起点坐标。另外还有一个就是Node节点里面的getContentSize()函数。getContentSize : 来获得节点(Node)原始的大小。只是逻辑尺寸,不是像素

未完待续,在以后的工作中继续总结用法

0 0
原创粉丝点击