注册 登录
主题 : 代码片段:圣诞动画
级别: 新手上路
UID: 115952
精华: 0
发帖: 12
可可豆: 31 CB
威望: 21 点
在线时间: 73(时)
注册时间: 2011-12-27
最后登录: 2016-05-06
0 楼:  发表于: 2013-12-27 14:04    发自: Web Page

代码片段:圣诞动画   

管理提醒: 本帖被 aaronglyang 执行加亮操作(2013-12-27)
这个是去年实习为了圣诞写的APP启动动画
主要是用到贝塞尔曲线,对圣诞帽做了个动画,满好玩的,女生都蛮喜欢的

一开始,背景和圣诞老人分别从屏幕左右两边划入屏幕
而后,圣诞帽飞上天,绕一圈
最后,停在背景文字右方


-(void)beginAmation
{
 treeImageView = [[UIImageView alloc]initWithFrame:CGRectMake(-190, 200, 190, 120)];
    [treeImageView setImage:[UIImage imageNamed:@"Christmas-sence1"]];
    [self.view addSubview:treeImageView];
 manImageView = [[UIImageView alloc]initWithFrame:CGRectMake(400, 228, 80, 90)];
    [manImageView setImage:[UIImage imageNamed:@"Christmas-man"]];
    [self.view addSubview:manImageView];
 hatImageView = [[UIImageView alloc]initWithFrame:CGRectMake(423, 226, 40, 40)];
    [hatImageView setImage:[UIImage imageNamed:@"Christmas-hat"]];
    [self.view addSubview:hatImageView];
 
    [UIView animateWithDuration:1.4 delay:0.5 options:UIViewAnimationOptionCurveEaseOut animations:^{
        treeImageView.frame = CGRectMake(65, 200, 190, 120);
        manImageView.frame = CGRectMake(160, 228, 80, 90);
        hatImageView.frame = CGRectMake(183, 226, 40, 40);
    }completion:^(BOOL finished) {
        CGMutablePathRef hatPath = CGPathCreateMutable();
        CGPathMoveToPoint(hatPath,NULL,hatImageView.frame.origin.x, hatImageView.frame.origin.y);
 CGPathAddCurveToPoint(hatPath,NULL,0,100, 0,0,222,179);
 
        CAKeyframeAnimation * hatAnimation;
        hatAnimation=[CAKeyframeAnimation animationWithKeyPath:@"position"];
        hatAnimation.path=hatPath;
        hatAnimation.delegate = self;
        hatAnimation.removedOnCompletion = NO;
        hatAnimation.duration = 0.8;
        [hatImageView.layer addAnimation:hatAnimation forKey:@"hatAnimation"];
 hatImageView.frame = CGRectMake(222, 179, hatImageView.frame.size.width, hatImageView.frame.size.height);
        CFRelease(hatPath);
    }];
}


- (void)animationDidStop:(CAAnimation *)anim finished:(BOOL)flag
{
    if (anim == [hatImageView.layer animationForKey:@"hatAnimation"]) {
 hatImageView.transform = CGAffineTransformMakeRotation(20 * M_PI / 180);
    }
}


[ 此帖被leostc在2013-12-28 19:39重新编辑 ]

图片:圣诞动画.gif
http://weibo.com/23leo
级别: 风云使者

状态: 连续签到 - [25天]
UID: 12621
精华: 0
发帖: 2875
可可豆: 19664 CB
威望: 20608 点
在线时间: 4437(时)
注册时间: 2010-01-05
最后登录: 2019-02-12
1 楼:  发表于: 2013-12-27 16:21    发自: Web Page
赞!!!!!
我测试个帖子签名1
级别: 新手上路
UID: 115952
精华: 0
发帖: 12
可可豆: 31 CB
威望: 21 点
在线时间: 73(时)
注册时间: 2011-12-27
最后登录: 2016-05-06
2 楼:  发表于: 2013-12-27 18:04    发自: Web Page
回 1楼(aaronglyang) 的帖子
谢谢哈。最主要的还是要感谢当时一起开发的小伙伴。
http://weibo.com/23leo
级别: 精灵王

状态: 连续签到 - [341天]
UID: 4020
精华: 0
发帖: 437
可可豆: 24891 CB
威望: 25992 点
在线时间: 3388(时)
注册时间: 2009-04-02
最后登录: 2018-08-21
3 楼:  发表于: 2013-12-28 09:09    发自: Web Page
多谢分享!
LZ最好补一个动画截图,去下载一个 LICEcap for mac 轻松搞定截屏边gif动画
一直在努力,一直都觉得努力得还不够~~
www.etware.com
级别: 新手上路
UID: 115952
精华: 0
发帖: 12
可可豆: 31 CB
威望: 21 点
在线时间: 73(时)
注册时间: 2011-12-27
最后登录: 2016-05-06
4 楼:  发表于: 2013-12-28 19:40    发自: Web Page
回 3楼(wode211) 的帖子
嗯,谢谢
已补上gif,哈哈
http://weibo.com/23leo

CocoaChina社区转载内容已尽可能注明出处,如未能核实来源或转发内容图片有权利瑕疵的,请及时联系社区进行修改或删除【联系方式QQ : 3442093904 邮箱:support@cocoachina.com】文章内容为作者独立观点,不代表CocoaChina社区立场。版权归原作者所有,如申请授权请联系作者,因文章侵权CocoaChina社区不承担任何法律及连带责任。

描述
快速回复

关注本帖(如果有新回复会站内信通知您)

发帖、回帖都会得到可观的积分奖励。查看论坛积分规则

按"Ctrl+Enter"直接提交
    顶部