您的位置:首页 > 移动开发 > Cocos引擎

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函数

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事件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: