cocos2dx中的导演类

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)原始的大小。只是逻辑尺寸,不是像素

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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值