COCOS2D-X 2.0笔记---2:精灵类,动画类,精灵缓存,shcedule,touch事件
2013-11-08 18:09
375 查看
今天首先是:CCSpriteFrameCache类,本类是用于缓存资源,减少每次显示对象从新加载资源带来的性能损失(减少drawcall次数)。它可以直接使用addSpriteFramesWithFile函数将COCO2D支持的*.plist文件将一个贴图集(Texture Atlas)加载,然后使用spriteFrameByName函数直接提取贴图集中的图片元素。*.plist文件可以使用TexturePacker进行制作。
精灵类为CCSprite,有几种构造方式
CCSprite::create("filename"):直接从Resource资源文件夹中读取资源。
CCSprite::createWithSpriteFrameName("filename"):从CCSpriteFrameCache中获取对象。别的资料说得很清楚了,关于CCSpriteFrameCache主要是为了减少drawcall次数,提升性能。
CCNode中定义了schedule函数
如果repeat参数为0,即为每帧调用。当不需要schedule之后记得使用unschedule方法释放。
想触发touch事件,首先必须继承CCTouchDelegate,COCOS2D提供了
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchEnded( CCTouch *pTouch, CCEvent *pEvent );
virtual void ccTouchMoved( CCTouch *pTouch, CCEvent *pEvent );
这三个函数来对移动设备的触摸事件提供支持,需要注意的是,ccTouchBegan返回一个bool值,来告诉底层当前捕获事件的对象是否是程序员希望处理的目标,如果返回true,触摸事件将会被捕获且不会再继续分发。如果返回false,事件将继续分发,并且不会触发本对象的ccTouchEnded和ccTouchMoved事件。
精灵类为CCSprite,有几种构造方式
CCSprite::create("filename"):直接从Resource资源文件夹中读取资源。
CCSprite::createWithSpriteFrameName("filename"):从CCSpriteFrameCache中获取对象。别的资料说得很清楚了,关于CCSpriteFrameCache主要是为了减少drawcall次数,提升性能。
CCNode中定义了schedule函数
void schedule(SEL_SCHEDULE selector, float interval, unsigned int repeat, float delay);
如果repeat参数为0,即为每帧调用。当不需要schedule之后记得使用unschedule方法释放。
想触发touch事件,首先必须继承CCTouchDelegate,COCOS2D提供了
virtual bool ccTouchBegan(CCTouch *pTouch, CCEvent *pEvent);
virtual void ccTouchEnded( CCTouch *pTouch, CCEvent *pEvent );
virtual void ccTouchMoved( CCTouch *pTouch, CCEvent *pEvent );
这三个函数来对移动设备的触摸事件提供支持,需要注意的是,ccTouchBegan返回一个bool值,来告诉底层当前捕获事件的对象是否是程序员希望处理的目标,如果返回true,触摸事件将会被捕获且不会再继续分发。如果返回false,事件将继续分发,并且不会触发本对象的ccTouchEnded和ccTouchMoved事件。
相关文章推荐
- Cocos2D-X笔记(3)Touch事件:移动精灵
- 我的Cocos2d-x学习笔记(七)纹理缓存、帧缓存、精灵的创建、zOrder
- Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)
- Cocos2d-X 学习笔记 22 CCLayer 界面Touch事件处理
- Cocos2d-x学习笔记(九)-------->Touch事件处理机制
- 【Cocos2D-X 游戏引擎】初窥门径(4)Touch 事件:移动精灵
- ios-cocos2d游戏开发基础-CCLayer和Touch事件-开发笔记
- Cocos2D-X2.2.3学习笔记8(处理精灵单击、双击和三连击事件)
- cocos2d-x初学笔记06:触屏事件TouchEvent
- cocos2d-x 学习笔记—缓存中创建精灵
- 我的Cocos2d-x学习笔记(七)纹理缓存、帧缓存、精灵的创建、zOrder
- 【Cocos2D-X 游戏引擎】初窥门径(4)Touch 事件:移动精灵
- cocos2d-x 触摸事件使用笔记
- Cocos2d-x精灵学习笔记
- Cocos2d-x Touch 拖动精灵
- 【Cocos2d-X开发学习笔记】第22期:事件处理机制之触屏事件
- cocos2d-x Programmers Guide v3.3 译本和阅读笔记(第8章:事件派发器)
- Cocos2d-x Touch 拖动精灵
- [Cocos2d-x 2.3]Touch操作事件是如何分发的
- 深入分析Cocos2d-x 2.0中的“纹理”和精灵-沈大海cocos2d-x教程20