cocos2d-x初识 CCDirector类的认识

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值