cocos2dx帧动画如何组合

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2dx帧动画如何组合相关的知识,希望对你有一定的参考价值。

比如有3帧动画1.PNG 2.PNG 3.PNG
怎么组合起来显示在屏幕上呢...

请附上代码

而且cocos2dx要3.1版本或以上
全部分都给你

参考技术A 没有过3.1 不过差别应该不大

CCAnimate* action;
CCAnimation* animation = CCAnimation::create();
animation->setRestoreOriginalFrame(false);//结束后是否返回 原动画

for( int i=1;i<4;i++)

char szName[200] = 0;
sprintf(szName, "%d.png", i);
animation->addSpriteFrameWithFileName(szName);

animation->setDelayPerUnit(float );// 延迟时间(秒)
action = CCAnimate::create(animation);
_mySprite->runAction(CCRepeatForever::create (action));本回答被提问者采纳

动画组(显示动画)

动画组

CABasicAnimationCAKeyframeAnimation仅仅作用于单独的属性,而CAAnimationGroup可以把这些动画组合在一起。CAAnimationGroup是另一个继承于CAAnimation的子类,它添加了一个animations数组的属性,用来组合别的动画。我们把清单8.6那种关键帧动画和调整图层背景色的基础动画组合起来(清单8.10),结果如图8.3所示。

清单8.10 组合关键帧动画和基础动画

 1 - (void)viewDidLoad
 2 {
 3     [super viewDidLoad];
 4     //create a path
 5     UIBezierPath *bezierPath = [[UIBezierPath alloc] init];
 6     [bezierPath moveToPoint:CGPointMake(0, 150)];
 7     [bezierPath addCurveToPoint:CGPointMake(300, 150) controlPoint1:CGPointMake(75, 0) controlPoint2:CGPointMake(225, 300)];
 8     //draw the path using a CAShapeLayer
 9     CAShapeLayer *pathLayer = [CAShapeLayer layer];
10     pathLayer.path = bezierPath.CGPath;
11     pathLayer.fillColor = [UIColor clearColor].CGColor;
12     pathLayer.strokeColor = [UIColor redColor].CGColor;
13     pathLayer.lineWidth = 3.0f;
14     [self.containerView.layer addSublayer:pathLayer];
15     //add a colored layer
16     CALayer *colorLayer = [CALayer layer];
17     colorLayer.frame = CGRectMake(0, 0, 64, 64);
18     colorLayer.position = CGPointMake(0, 150);
19     colorLayer.backgroundColor = [UIColor greenColor].CGColor;
20     [self.containerView.layer addSublayer:colorLayer];
21     //create the position animation
22     CAKeyframeAnimation *animation1 = [CAKeyframeAnimation animation];
23     animation1.keyPath = @"position";
24     animation1.path = bezierPath.CGPath;
25     animation1.rotationMode = kCAAnimationRotateAuto;
26     //create the color animation
27     CABasicAnimation *animation2 = [CABasicAnimation animation];
28     animation2.keyPath = @"backgroundColor";
29     animation2.toValue = (__bridge id)[UIColor redColor].CGColor;
30     //create group animation
31     CAAnimationGroup *groupAnimation = [CAAnimationGroup animation];
32     groupAnimation.animations = @[animation1, animation2]; 
33     groupAnimation.duration = 4.0;
34     //add the animation to the color layer
35     [colorLayer addAnimation:groupAnimation forKey:nil];
36 }

 

 

以上是关于cocos2dx帧动画如何组合的主要内容,如果未能解决你的问题,请参考以下文章

cocos2dx 3.x(实现帧动画(人物动画,跑马灯效果)的几种方法)

cocos2dx3.3 csb帧动画怎么加载

cocos2dx中怎么获得骨骼动画armature中的帧事件

HarmonyOS之帧动画数值动画属性动画和组合动画的效果实现

cocos2dx-深度解析plist文件(游戏对象的数据如何从plist创建获取)

cocos2dx 一帧多长间隔