Objective-C 汤姆猫动画实现

整个汤姆猫的各个动作实现,只要重复这六步就可以了


在 RootViewController.m 中实现


首先把汤姆猫一个动作的套图放到工程中

第一步:

           当你点击一个事件的时候,汤姆猫会相应的做一个动作,这些动作就是由多个静止图片构成的.因此我们要先定义一个数组属性,将图片放进数组中,然后对数组进行操作,是动画连贯.

           

   @property(nonatomic,retain)NSMutableArray *drinkArr;


第二步:

      每一个容器在使用的时候都需要先对其进行初始化操作.因此在初始化方法中,对数组进行初始化

- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil{


    self = [superinitWithNibName:nibNameOrNil bundle:nibBundleOrNil];

    if (self) {

    

       self.drinkArr = [NSMutableArrayarray];

    }

    return self;

}




第三步:在viewDidLoad方法中,添加Button


    UIButton *drinkButton = [UIButtonbuttonWithType:UIButtonTypeCustom];

    drinkButton.frame = CGRectMake(20, 230, 70, 50);

   

    // 添加的drink小图片,没有图片使用setTitle添加文字一样

    [drinkButton setImage:[UIImageimageNamed:@"drink.png"]forState:UIControlStateNormal];

   

    // 添加Button的触发方法

    [drinkButton addTarget:selfaction:@selector(drink:)forControlEvents:UIControlEventTouchUpInside];

    [self.viewaddSubview:drinkButton];




第四步:因为图片标号从00到80,总张数81张图片.因为标号使用的双位数字排号,因此00~09和10~80的拼接图片名的方式不同

// 把图片生成UIImage对象,放到数组里

for (NSInteger i =0; i < 81; i++) {

        NSString *drinkPicName = [NSStringstring];

        if (i < 10) {          

           // 拼接图片名

            drinkPicName = [NSString stringWithFormat:@"drink_0%ld.jpg",i];

            

        }else{

        

            drinkPicName = [NSString stringWithFormat:@"drink_%ld.jpg",i];

        }

        UIImage *drinkImage = [UIImageimageNamed:drinkPicName];

        [self.drinkArraddObject:drinkImage];

    }


    //播放一次动画所需要的时间

      self.imageView.animationDuration =2.5;

   // 重复次数

      self.imageView.animationRepeatCount =1;



第五步  Button触发方法实现

- (void)drink:(UIButton *)button{


    self.imageView.animationImages =self.drinkArr;

    

   // 开始动画

    [self.imageViewstartAnimating];

}




第六步:只要写属性,就要写dealloc

- (void)dealloc

{

    [_drinkArr release];

    

    [super dealloc];

}









评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值