cocos2d导演类中的方法即使用




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

//创建一个导演类的单例
 Director* pDirector = Director::getInstance();
 //获得一个glview
GLView* 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)原始的大小。只是逻辑尺寸,不是像素

猜你喜欢

转载自blog.csdn.net/dongjingxia/article/details/72540056