cocos2d精灵与动作
2014-04-14 18:04
337 查看
精灵的创建:
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动作播放动画
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动作播放动画
相关文章推荐
- quick-cocos2d-x 精灵使用、动作等等的学习
- cocos2d-x精灵切换动作出错
- cocos2d-x精灵动作不执行解决方法
- cocos2d-x for wp之精灵动作——Actions
- cocos2d_基础篇1_点击让一个精灵作动作
- cocos2d中精灵的各类动作
- cocos2d-js精灵完成动作后消失
- Cocos2d-X 精灵、动作效果
- Cocos2d-X 精灵、动作效果
- cocos2d-android——给精灵添加动作
- cocos2d-x中,多个精灵执行同样的动作
- Cocos2d-X 精灵、动作效果
- 关于Cocos2d-x中使用完Blink动作后精灵突然消失的问题的解决
- Cocos2d-js : 精灵动作实现 示例
- cocos2d-x精灵的动作
- Cocos2d-X 精灵、动作效果
- cocos2d-x中精灵的应用
- Cocos2d-x 图像渲染和动画——动作
- cocos2d-x CCLayer上精灵的点击判断的问题
- cocos2d 动作概念的整理