cocos2dx帧动画如何组合
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了cocos2dx帧动画如何组合相关的知识,希望对你有一定的参考价值。
比如有3帧动画1.PNG 2.PNG 3.PNG
怎么组合起来显示在屏幕上呢...
请附上代码
而且cocos2dx要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));本回答被提问者采纳
动画组(显示动画)
动画组
CABasicAnimation
和CAKeyframeAnimation
仅仅作用于单独的属性,而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(实现帧动画(人物动画,跑马灯效果)的几种方法)
cocos2dx中怎么获得骨骼动画armature中的帧事件
HarmonyOS之帧动画数值动画属性动画和组合动画的效果实现