iOS模拟Tom猫的简单界面

一:首先我们看一下这个运行时的主界面,程序一启动就要呈现的的图片需要放在Assets.xcassets里,

    用于动画帧的图片放在supporting Files里

 1.里面的小图片都是Button,还有在肚子上和头上的隐藏的Button;

 2.底部是一个ImageView,放着一张Tom的图片

       imageView和Button直接在storyboard中拖过去,不要忘记建立连线(很初学者不明白为什么有的需要连线,有的不需要,在这里解释一下,如果你在代码中需要更改,或是用        到控件的属性时,就需要建立连线,创建可用对象)


二:下面我们来看看代码

以drink为例:drink_%02d.jpg 表示存放的drink_01~drink_81,大家也可以用其他的图片素材试试看

- (IBAction)drinkButton:(id)sender {

    //首先创建一个数组存放图片对象

    NSMutableArray * Array1=[NSMutableArrayarray];

    

    //使用for循环加载图片

    for(int i=0;i<81;i++)

    {

        //获取文件名

        NSString *fileName = [NSStringstringWithFormat:@"drink_%02d.jpg",i];

        //获取文件目录

        NSString*path=[[NSBundlemainBundle]pathForResource:fileNameofType:nil];

        //获取图片对象

        UIImage*image=[UIImageimageWithContentsOfFile:path];

        //把图片插到可变数组

        [Array1 addObject:image];

    }

    //动画

    //设置图片动画

    self.mainPhotoView.animationImages=Array1;

    //设置动画播放的次数

    self.mainPhotoView.animationRepeatCount =1;

    //设置动画播放时长

    self.mainPhotoView.animationDuration =self.mainPhotoView.animationImages.count *0.07;

    //开始播放

    [self.mainPhotoViewstartAnimating];

    

    //计算动画时间

    CGFloat time=self.mainPhotoView.animationDuration+0.1;

    //释放内存,延时执行

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(time * NSEC_PER_SEC)),dispatch_get_main_queue(), ^{

        self.mainPhotoView.animationImages=nil;

    });


}

其他的功能实现和这个类似,所以我们只需要把上面的代码复制,粘贴在其他的Button里,更改一下图片名和数量就可以实现其他功能,但是这样显得程序代码繁杂,代码数量大,所以此时我们需要封装一下,将其写在一个方法里,然后调用就好了
方法如下:(把name和count图片数量变成了可传递的参数)


-(void)PAimageName:(NSString*) name imageCount:(int) count{


    if ([self.mainPhotoViewisAnimating]) {

        return;

    }

    

    //首先创建一个数组存放图片对象

    NSMutableArray * Array1=[NSMutableArrayarray];

    

    //使用for循环加载图片

    for(int i=0;i<count;i++)

    {

        //获取文件名

        NSString *fileName = [NSStringstringWithFormat:@"%@_%02d.jpg",name,i];

        //获取文件目录

        NSString*path=[[NSBundlemainBundle]pathForResource:fileNameofType:nil];

        //获取图片对象

        UIImage*image=[UIImageimageWithContentsOfFile:path];

        //把图片插到可变数组

        [Array1 addObject:image];

    }

    //动画

    //设置图片动画

    self.mainPhotoView.animationImages=Array1;

    //设置动画播放的次数

    self.mainPhotoView.animationRepeatCount =1;

    //设置动画播放时长

    self.mainPhotoView.animationDuration =self.mainPhotoView.animationImages.count *0.07;

    //开始播放

    [self.mainPhotoViewstartAnimating];

    

    //计算动画时间

    CGFloat time=self.mainPhotoView.animationDuration+0.1;

    //释放内存,延时执行

    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(time * NSEC_PER_SEC)),dispatch_get_main_queue(), ^{  

        self.mainPhotoView.animationImages=nil;

    });


}

然后把这个方法在Button里执行就好了

OK,这样一个简单的TOM猫小游戏就写好了
还是很有意思的,主要都是通过Button实现的

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值