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

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