• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

BabyPigAnimation: 从简单的基础动画到复杂的组动画,原理一目了然。最后再加上几个常 ...

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称:

BabyPigAnimation

开源软件地址:

https://gitee.com/cowa/BabyPigAnimation

开源软件介绍:

BabyPigAnimation

从简单的基础动画到复杂的组动画,原理一目了然。最后再加上几个常见动画,举一反三。

效果图

效果图可以在我的github上看到:https://github.com/manofit/BabyPigAnimation

使用

  • 基础动画
//位移-(void)makePositionAnimation{    CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];    animation.fromValue = [NSValue valueWithCGPoint:CGPointMake(50, SCREEN_HEIGHT/2-75)];    animation.toValue = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH-50, SCREEN_HEIGHT/2-75)];    animation.duration = 1.0f;    //animation.fillMode = kCAFillModeForwards;    //animation.removedOnCompletion = NO;    [self.babyView.layer addAnimation:animation forKey:@"positionAnimation"];}
  • 关键帧动画
CAKeyframeAnimation *animation = [CAKeyframeAnimation animationWithKeyPath:@"position"];NSValue *value_0 = [NSValue valueWithCGPoint:CGPointMake(50, SCREEN_HEIGHT/2-50)];NSValue *value_1 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH/3, SCREEN_HEIGHT/2-50)];NSValue *value_2 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH/3, SCREEN_HEIGHT/2+50)];NSValue *value_3 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH*2/3, SCREEN_HEIGHT/2+50)];NSValue *value_4 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH*2/3, SCREEN_HEIGHT/2-50)];NSValue *value_5 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH-50, SCREEN_HEIGHT/2-50)];animation.values = [NSArray arrayWithObjects:value_0,value_1,value_2,value_3,value_4,value_5, nil];animation.duration = 2.0f;[self.babyView.layer addAnimation:animation forKey:@"keyFrameAnimation"];
  • 组动画
CAKeyframeAnimation *positionAni = [CAKeyframeAnimation animationWithKeyPath:@"position"];NSValue *value_0 = [NSValue valueWithCGPoint:CGPointMake(50, SCREEN_HEIGHT/2-50)];NSValue *value_1 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH/3, SCREEN_HEIGHT/2-50)];NSValue *value_2 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH/3, SCREEN_HEIGHT/2+50)];NSValue *value_3 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH*2/3, SCREEN_HEIGHT/2+50)];NSValue *value_4 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH*2/3, SCREEN_HEIGHT/2-50)];NSValue *value_5 = [NSValue valueWithCGPoint:CGPointMake(SCREEN_WIDTH-50, SCREEN_HEIGHT/2-50)];positionAni.values = [NSArray arrayWithObjects:value_0,value_1,value_2,value_3,value_4,value_5, nil];CABasicAnimation *scaleAni = [CABasicAnimation animationWithKeyPath:@"transform.scale"];scaleAni.fromValue = [NSNumber numberWithFloat:0.8f];scaleAni.toValue = [NSNumber numberWithFloat:2.0f];    CABasicAnimation *rotateAni = [CABasicAnimation animationWithKeyPath:@"transform.rotation"];rotateAni.toValue = [NSNumber numberWithFloat:M_PI*4];    CAAnimationGroup *groupAni = [CAAnimationGroup animation];groupAni.animations = [NSArray arrayWithObjects:positionAni,scaleAni,rotateAni, nil];groupAni.duration = 4.0f;[self.babyView.layer addAnimation:groupAni forKey:@"groupAnimation"];
  • 过渡动画
CATransition *transitionAni = [CATransition animation];transitionAni.type = kCATransitionMoveIn;transitionAni.subtype = kCATransitionFromRight;transitionAni.duration = 1.0f;[self.babyView.layer addAnimation:transitionAni forKey:@"moveInAnimation"];

鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap