精灵的创建
:
1. 图片创建精灵:
position 位置,决定精灵大体的位置。
anchorPoint 锚点:精确的位置
eg:比如有一艘船,position就是船在海中的位置,锚点就是下锚
注意:cocos2d是具于OpenGL ES基础上的,左下角(0.0)右上角(1.1)
2. 2D材质创建精灵:
图片材质的缓冲,CCTextureCache,是个单例,可以把需要反复使用的图片放到这个缓存中:[[ CCTextureCache sharedTextureCache] addImage:@"__.png”];
图片加载到缓存中后,实际上变成内存中的一块数据区域,就是2D图片材质----CCTexture2D
CCTexture2D *cocos = [[ CCTextureCache sharedTextureCache textureForKey:@“___.png”];
获取: CCSprite *sprite = [CCSprite spriteWithTexture:cocos];
3.纹理贴图集中产生精灵:
方法:
a 制作纹理贴图集,需要用到Zwoptex软件。[[ CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@“__.plist]”; //精灵帧缓存
Zwoptex软件:保存设置问题
b 加载纹理贴图到CCSpriteFrameCache,
[[ CCSpriteFrameCache sharedSpriteFrameCache ] spriteFrameByName : [ NSString stringWithFormat : @“--.png" , i]]]; //精灵帧缓冲,大图片
c 获取贴图创建精灵。
CCSprite *sprite = [ CCSprite spriteWithSpriteFrameName:@“___.png”];
精灵批处理节点:
精灵批处理是用于提高精灵渲染速度的技术
精灵批处理节点类是CCSpriteBathNode,可以在处理节点中加入精灵,
// 创建精灵批处理节点
CCSpriteBatchNode *spriteSheet = [ CCSpriteBatchNode batchNodeWithFile : @“-----.png" ]; [ self addChild :spriteSheet];
// 收集帧列表
NSMutableArray *Frames = [ NSMutableArray array ]; for ( int i = 0 ; i < 8 ; ++i) { // 加载纹理贴图到 CCSpriteFrameCache [Frames addObject : [[ CCSpriteFrameCache sharedSpriteFrameCache ] spriteFrameByName :[ NSString stringWithFormat : @“---.png" , i]]]; }
精灵的动作:
1.瞬间动作 eg: [sprite runAction :[ CCShow action]];
2.延时动作
eg: id ac = [CCMoveTo actionWithDuration: 2 position:ccp(size.width/2, size.height/2)];
[sprite runAction : ac];
To是绝对位置,by是相对位置,相对于原来坐标的原点
3.组合动作
eg: [sprite runAction:[CCSequence actions:……nil]];
4.速度变化的动作
5.其他的动作
a 函数调用动作
b 步进时间条
c 属性修改动作(CCActionTween)
精灵动画: CCAnimate
步骤: a 生成NSMutableArray可变数组,用来存放图片
b 循环处理每一个动画帧: 为每一个图片生成一个CCTexture2D节点,利用CCTexture2D节点生成一个CCSpriteFrame,把生成的CCSpriteFrame添加到NSMutableArray节点
c 利用NSMutableArray中的动画帧生成一个CCAnimation的节点,
d 使用CCAnimate动作播放动画
1. 图片创建精灵:
CCSprite *sprite = [CCSprite spriteWithFile:@“__.png”]; .
[self addChild:sprite];
设置精灵的位置:position 位置,决定精灵大体的位置。
anchorPoint 锚点:精确的位置
eg:比如有一艘船,position就是船在海中的位置,锚点就是下锚
注意:cocos2d是具于OpenGL ES基础上的,左下角(0.0)右上角(1.1)
2. 2D材质创建精灵:
图片材质的缓冲,CCTextureCache,是个单例,可以把需要反复使用的图片放到这个缓存中:[[ CCTextureCache sharedTextureCache] addImage:@"__.png”];
图片加载到缓存中后,实际上变成内存中的一块数据区域,就是2D图片材质----CCTexture2D
CCTexture2D *cocos = [[ CCTextureCache sharedTextureCache textureForKey:@“___.png”];
获取: CCSprite *sprite = [CCSprite spriteWithTexture:cocos];
3.纹理贴图集中产生精灵:
方法:
a 制作纹理贴图集,需要用到Zwoptex软件。[[ CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@“__.plist]”; //精灵帧缓存
Zwoptex软件:保存设置问题
b 加载纹理贴图到CCSpriteFrameCache,
[[ CCSpriteFrameCache sharedSpriteFrameCache ] spriteFrameByName : [ NSString stringWithFormat : @“--.png" , i]]]; //精灵帧缓冲,大图片
c 获取贴图创建精灵。
CCSprite *sprite = [ CCSprite spriteWithSpriteFrameName:@“___.png”];
精灵批处理节点:
精灵批处理是用于提高精灵渲染速度的技术
精灵批处理节点类是CCSpriteBathNode,可以在处理节点中加入精灵,
// 创建精灵批处理节点
CCSpriteBatchNode *spriteSheet = [ CCSpriteBatchNode batchNodeWithFile : @“-----.png" ]; [ self addChild :spriteSheet];
// 收集帧列表
NSMutableArray *Frames = [ NSMutableArray array ]; for ( int i = 0 ; i < 8 ; ++i) { // 加载纹理贴图到 CCSpriteFrameCache [Frames addObject : [[ CCSpriteFrameCache sharedSpriteFrameCache ] spriteFrameByName :[ NSString stringWithFormat : @“---.png" , i]]]; }
精灵的动作:
1.瞬间动作 eg: [sprite runAction :[ CCShow action]];
2.延时动作
eg: id ac = [CCMoveTo actionWithDuration: 2 position:ccp(size.width/2, size.height/2)];
[sprite runAction : ac];
To是绝对位置,by是相对位置,相对于原来坐标的原点
3.组合动作
eg: [sprite runAction:[CCSequence actions:……nil]];
4.速度变化的动作
5.其他的动作
a 函数调用动作
b 步进时间条
c 属性修改动作(CCActionTween)
精灵动画: CCAnimate
步骤: a 生成NSMutableArray可变数组,用来存放图片
b 循环处理每一个动画帧: 为每一个图片生成一个CCTexture2D节点,利用CCTexture2D节点生成一个CCSpriteFrame,把生成的CCSpriteFrame添加到NSMutableArray节点
c 利用NSMutableArray中的动画帧生成一个CCAnimation的节点,
d 使用CCAnimate动作播放动画