cocos2d-x初识 CCDirector类的认识

转载 2015年07月09日 10:12:58

CCDirector类负责初始化OpenGL ES和控制scenes之间的转换。CCDirector类是单例的,它以栈的方式处理scenes的调用,并且知道当前哪个scene是激活状态。

如游戏中打开背包(打开背包前为场景A,背包界面为场景BAG),即BAG入栈,当前屏幕显示出来的即为BAG场景

//获取设备的宽高

CGSize size=[[CCDirector sharedDirector] winSize];

//将场景对象压入栈中,并激活(此时不能有已经激活的场景,因此该方法常用于刚进游戏时)

-(void) runWithScene: (CCScene)scene*

//替换当前激活的场景,同时将旧场景从堆栈中删除,新场景压入堆栈。

-(void) replaceScene: (CCScene)scene*

//添加新的场景进栈,并将其激活。 挂起当前运行的场景,并压栈到待运行场景队列。

-(void) pushScene: (CCScene) scene*

//当前激活的场景出栈,激活上一个场景。

-(void) popScene

//暂停。用法:[[CCDirector sharedDirector] pause];

-(void) pause

//恢复。

-(void) resume

//获取Director单例

CCDirector::sharedDirector()

//停止动画(当程序被切换时会被调用),屏幕上将不会绘制东西。示例代码如下:

CCDirector::sharedDirector()->stopAnimation();

与之对应的是

CCDirector::sharedDirector()->startAnimation();

默示获得视口(可视区域)的大小,若是DesignResolutionSize跟屏幕尺寸一样大,则getVisibleSize便是getWinSize。

CCSize visibleSize = CCDirector::sharedDirector()->getVisibleSize();

默示可视区域的出发点坐标,这在处理惩罚相对地位的时候很是有效,确保节点在不合辨别率下的地位一致。

CCPoint origin = CCDirector::sharedDirector()->getVisibleOrigin();

不得不提的是

 CCEGLView* pEGLView = CCEGLView::sharedOpenGLView();

CCEGLView是窗口,在不同平台上有不同的实现,而CCEGLViewProtocol是CCEGLView定义的接口,所以学习CCEGLView,主要是要学习CCEGLViewProtocol中定义的接口。

通过

pDirector->setOpenGLView(pEGLView);

来初始化,将pDirector“塞进”CCEGLView窗口。

引用:http://blog.csdn.net/newpact/article/details/10807761

[cocos2d-x] --- CCDirector类详解

Cocos2d-x学习交流群:140326755  Email : hahayacoder@gmail.com   1 CCDirecor(导演)在cocos2d-x引擎中是一个很重要的类,CC...
  • qiurisuixiang
  • qiurisuixiang
  • 2013年04月05日 13:55
  • 6304

Android初试--了解和认识Android

1.了解Android        Android一词本义指“机器人”,是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用...
  • guizhaiteng
  • guizhaiteng
  • 2013年09月17日 17:57
  • 1417

【cocos2d-x】CCDirector

在cocos2d-x里面,游戏的任何时间,只有一个场景对象实例处于运行状态,该对象可以作为当前游戏内容的整体包对象。 Cocos2d-x引擎除了提供了CCDirector,还提供了一个CCDi...
  • wuhen334360
  • wuhen334360
  • 2015年07月17日 11:40
  • 303

COCOS-3.X事件分发机制-触摸事件

在cocos中,触摸事件分为单点触摸和多点触摸,其中多点触摸主要是针对移动设备的,但是利用cocos的事件分发机制来处理触摸事件,其大致流程几乎是一致的。 一、单点触摸 1、cocos2.x的处理方式...
  • u011787119
  • u011787119
  • 2015年12月06日 23:38
  • 854

cocos2d-x之CCDirector类1

1 cocos2d-x之CCDirector类1 问题1:CCDirector类是什么时候创建? 问题2:cocos2d-x应用窗口的消息回调函数是如何和CCDirector类创建连接起来的? 1...
  • baoming_wang
  • baoming_wang
  • 2014年02月25日 20:42
  • 646

cocos2d-x核心类剖析-CCDirector类

问题2-1:CCDirector类是什么时候创建? 问题2-2:cocos2d-x应用窗口的消息回调函数是如何和CCDirector类创建连接起来的? 创建AppDelegate对象后,...
  • u013235682
  • u013235682
  • 2015年06月21日 22:59
  • 441

CCDirector::sharedDirector()函数源码

static CCDisplayLinkDirector *s_SharedDirector = NULL; CCDirector* CCDirector::sharedDirector(void) ...
  • immiao
  • immiao
  • 2014年01月22日 16:24
  • 704

[cocos2d-x] - CCDirector种详解

1 CCDirecor(导演)在cocos2d-x引擎中是一个很重要的类,CCDirector使用单例模式实现,所以整个游戏中只有一个导演。CCDirector在整个游戏中扮演很重要的角色:(1)在开...
  • YUZHIBOYI
  • YUZHIBOYI
  • 2014年08月11日 20:59
  • 6481

关于CCDirector的一些认识

1 CCDirecor(导演)在cocos2d-x引擎中是一个很重要的类,CCDirector使用单例模式实现,所以整个游戏中只有一个导演。CCDirector在整个游戏中扮演很重要的角色:(1)在开...
  • ocean_dhl
  • ocean_dhl
  • 2013年07月15日 10:54
  • 401

CCDirector类

class CC_DLL CCDirector : public CCObject, public TypeInfo { public: CCDirector(void); virt...
  • ahstuxq
  • ahstuxq
  • 2014年01月25日 15:17
  • 553
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:cocos2d-x初识 CCDirector类的认识
举报原因:
原因补充:

(最多只允许输入30个字)