Cocos2D-X学习笔记(三)

来源:互联网 发布:python 文件操作函数 编辑:程序博客网 时间:2024/05/01 23:01

CCDirector的作用:

1、加载、切换场景

2、暂停、继续游戏

3、全局设置

4、访问Views

5、将屏幕坐标系转换为OpenGL中的坐标系


cocos2d-x中的界面元素是这样组织的:

(1)CCScene对象作为一个独立的游戏场景,它是看不见的元素。

(2)CCScene中可以包含若干个CCLayer对象,CCLayer扮演的角色可以理解为PS的图层,CCLayer如CCScene一样是看不见的元素。CCLayer可以接收用户的触摸事件和加速计事件。

  (3)你在Layer中放置Sprite、菜单等对象。

 

CCScene、CCLayer、CCSprite都继承于CCNode,CCNode是一个abstract类,它里面定义了一些常用的属性/方法,如位置、父Node,anchorpoint,执行Actions的方法。CCNode可以执行Actions,实现平移、变换。除了CCScene,每个CCNode可以有一个父CCNode, 可以有若干个子CCNode。

 

cocos2d-x游戏中的坐标系原点在屏幕的左下角,CCSprite默认的坐标系原点在正中央。

 

cocos2d-x中用CPP实现了一堆本是objective-c NSFoudation等库中的类、函数,如CCRectMake()对应CGMake(),CCMutableArray<T>对应NSMutableArray。

coscos2d-x中的类是coscos2d-iPhone的CPP移植版本,这些类的内存管理风格是objective-c中的引用计数规则,几乎跟objective-c一样。coscos2d-x的内存管理规则很简单:

(1)用new创建的coscos2d-x空间中的类的对象,必须调用release函数释放内存。

(2)不是用new创建的对象是autorelease的对象,不需要用户释放内存。

(3)autorelease的对象可以调用retain方法增加引用计数,当必须相应的调用release以实现内存释放


Actions分为两类:

1、跟时间想关的动作,如移动、选择等

2、及时动作,如可以见、位置设置。

 

cocos2d-x的架构: