cocos2d中如何使用图片纹理图集的加载来实现一个动画的功能

cocos2d中要实现一个动画,一般采用纹理图集的方式,也就是说把几个连续动作的图片挨个显示切换这样就是动画

一: 首先先看下今天要实现的具体的目的,打飞机的时间屏幕上会有一个喷火的小飞机,飞机的尾部会有喷火  熄灭 在开始喷火的动画

今天就实现这个场景动画,首先看下素材

 我们的目的就是把它实现成一个三个图片连续切换动画

 

类似这种样式

 

二: 首先,我们需要创建一个精灵批处理集合对象

     flightSheet = [CCSpriteBatchNodebatchNodeWithFile:@"flight.png"capacity:3];   //这个位置的图片就是三个额小飞机的图片

    flight = [CCSpritespriteWithTexture:flightSheet.texturerect:CGRectMake(0, 0, 31, 30)];

        flight.scale = 1.4;

        flight.position = ccp(size.width/2, size.height -450);

        [flightSheetaddChild:flight];

        [self addChild:flightSheet];

        

       

        NSMutableArray* array = [NSMutableArrayarray];

        for (int i = 0; i<3; i++) {

            [array addObject:[CCSpriteFrame frameWithTexture:flightSheet.texture rect:CGRectMake(i*32, 0, 31, 30)]];

        //注意这个地方我只是实用的手动计算具体的图片在整个大图片集合上的位置,大家可以使用cocos2d专门的图片处理工具

        }

       

        CCAnimation *animation = [CCAnimation animationWithSpriteFrames:array delay:0.2f];

        CCAnimate* animate = [CCAnimate actionWithAnimation:animation];

        CCRepeatForever* repeat = [CCRepeatForever actionWithAction:animate];

        [flight runAction:repeat];

执行这个事件动作,OK

动画成功!! 

转载于:https://www.cnblogs.com/ccguo/p/3385804.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值