iOS伪实现打地鼠游戏

打地鼠是一款可以用iOS知识来实现的一种游戏.其核心技术就是通过imageView来播放动画,点击button时来停止当前播放的动画开始击打地鼠的动画.话不多说直接上代码.

这是添加当前的背景图片,然后再背景图片上添加地鼠出现的imageView,并在每个imageView上添加个button来执行打击地鼠的事件.

- (void)viewDidLoad {
    [super viewDidLoad];
    //创建底层显示的背景图片
    UIImageView *imageView = [[UIImageView alloc] initWithFrame:self.view.frame];
    imageView.image = [UIImage imageNamed:@"back.png"];
    //打开图片的交互(imageView默认是关闭的)
    imageView.userInteractionEnabled = YES;

    for (int i = 0; i < 7; i++) {
        for (int j = 0; j < 7; j++) {
            //添加地鼠洞的图片
            _imageV = [[UIImageView alloc] initWithFrame:CGRectMake(20+50*i, 250+50*j, 50, 50)];
            _imageV.image = [UIImage imageNamed:@"emptyhole.png"];
            _imageV.tag = 149+i*7+j+1;
            //创建每个洞的点击事件
            _button = [UIButton buttonWithType:UIButtonTypeSystem];
            _button.frame = CGRectMake(0, 0, 50, 50);
            [_button addTarget:self action:@selector(hit:) forControlEvents:UIControlEventTouchUpInside];
            //给每个button添加tag值来确定你点击的是那个button
            _button.tag = 100+i*7+j+1;
            [_imageV addSubview:_button];
            _imageV.userInteractionEnabled = YES;
            [imageView addSubview:_imageV];
        }
    }
    //指定当前现实的背景图片
    self.view = imageView;
    //添加计时器
    [self addTimer];
    // Do any additional setup after loading the view, typically from a nib.
}

在确定完成后添加计时器来实现在不同的时间段里在不同位置上出现地鼠.

//添加计时器来启动图片的播放
- (void)addTimer
{
    _timer = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(startGame) userInfo:nil repeats:YES];
}

实现计时器的方法来实现地鼠出洞的动画

//启动地鼠出洞的动画
- (void)startGame
{
    //定义一个可变数组来存放播放的图片
    NSMutableArray *arr = [NSMutableArray array];
    //地鼠出洞的图片
    for (int i = 1; i < 7; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"t%d.png",i]];
        [arr addObject:image];
    }
    //地鼠回洞的图片
    for (int i = 1; i < 7; i++) {
        UIImage *image = [UIImage imageNamed:[NSString stringWithFormat:@"t%d.png",7-i]];
        [arr addObject:image];
    }
    //获取随机值来让地鼠在随机位置出现
    NSInteger num = arc4random()%49+150;
    //根据tag值来获取随机的现实地鼠图片的imageView
    _imageV = (UIImageView *)[self.view viewWithTag:num];
    //指定imageView的不妨图片的数组
    _imageV.animationImages = arr;
    //指定播放次数
    _imageV.animationRepeatCount = 1;
    //指定播放时间
    _imageV.animationDuration = 1;
    //开启播放
    [_imageV startAnimating];
}

实现button的点击时间来执行地鼠被打击的效果.

- (void)hit:(UIButton *)sender
{
    //根据点击button的tag值来获取当前的imageV
    NSInteger num = sender.tag;
    //根据button的tag值来获取当前点击的是那个imageview
    _imageV = (UIImageView *)[self.view viewWithTag:num+49];
    //确定是哪个位置的button来执行点击事件
    _button = (UIButton *)[self.view viewWithTag:num];
    //判断当前点击的imageView是否在播放动画
    if (_imageV.isAnimating == YES) {
        //停止播放动画
        [_imageV stopAnimating];
        //定义一个可变数组来存储地鼠被击打时的图片
        NSMutableArray *imageArr = [NSMutableArray array];
        //地鼠被击打的图片
        UIImage *image = [UIImage imageNamed:@"hit.png"];
        //空洞的图片
        UIImage *image1 = [UIImage imageNamed:@"emptyhole.png"];
        //讲两张图片添加到可变数组中
        [imageArr addObject:image];
        [imageArr addObject:image1];
        //指定播放动画的数组
        _imageV.animationImages = imageArr;
        //制动播放的次数(0为无限循环播放)
        _imageV.animationRepeatCount = 1;
        //指定播放的时间
        _imageV.animationDuration = 1;
        //开始播放动画
        [_imageV startAnimating];
    }else{
       //如果点击的位置没有在播放动画执行的方法.
    }
}

在写完这些代码你就可以完成一个打地鼠的游戏.

最后附上需要的图片,图片上方为图片在工程中的名字(冒号前是图片名字各位亲不要把冒号也复制了么么哒!!).

back:

enptyhole:

hit:

t1:

t2:

t3:

t4:

t5:

t6:

时间: 2024-10-08 22:06:37

iOS伪实现打地鼠游戏的相关文章

iOS版打地鼠游戏源码

打地鼠游戏源码,游戏是一款多关卡基于cocos2d的iPad打地鼠游戏源码,这也是一款高质量的打地鼠游戏源码,可以拥有逐步上升的关卡的设置,大家可以在关卡时设置一些商业化的模式来盈利的,非常完美的一款完整版休闲类游戏源码. 源码下载:http://code.662p.com/view/6306.html<ignore_js_op> <ignore_js_op> <ignore_js_op> <ignore_js_op> 详细说明:http://ios.662

ios打地鼠游戏源代码

打地鼠游戏源代码,游戏是一款多关卡基于cocos2d的iPad打地鼠游戏源代码,这也是一款高质量的打地鼠游戏源代码,能够拥有逐步上升的关卡的设置,大家能够在关卡时设置一些商业化的模式来盈利的,很完美的一款完整版休闲类游戏源代码. 源代码下载:http://code.662p.com/view/6306.html <ignore_js_op> <ignore_js_op> <ignore_js_op> <ignore_js_op> 具体说明:http://io

打地鼠游戏ios源码

打地鼠游戏源码,游戏是一款多关卡基于cocos2d的iPad打地鼠游戏源码,这也是一款高质量的打地鼠游戏源码,可以拥有逐步上升的关卡的设置,大家可以在关卡时设置一些商业化的模式来盈利的,非常完美的一款完整版休闲类游戏源码. 源码下载:http://code.662p.com/view/6306.html <ignore_js_op> <ignore_js_op> <ignore_js_op> <ignore_js_op> <ignore_js_op&g

ios打地鼠游戏源码

打地鼠游戏源码,游戏是一款多关卡基于cocos2d的iPad打地鼠游戏源码,这也是一款高质量的打地鼠游戏源码,可以拥有逐步上升的关卡的设置,大家可以在关卡时设置一些商业化的模式来盈利的,非常完美的一款完整版休闲类游戏源码. 源码下载:http://code.662p.com/view/6306.html<ignore_js_op> <ignore_js_op> <ignore_js_op> <ignore_js_op> 详细说明:http://ios.662

JS实现一个基本的打地鼠游戏

直入正题,用JS实现一个简单的打地鼠游戏 因为功能比较简单就直接裸奔JS了,先看看效果图,或者 在线玩玩 吧 如果点击颜色比较深的那个(俗称坏老鼠),将扣分50:如果点击颜色比较浅的那个(俗称好老鼠),将得分100 实现 老鼠好像有点难画,又不想用图片,就直接用CSS画个简单的图代表老鼠和坑吧 html结构 挺简单,用9个 li 标签代表坑,用9个 div 标签代表老鼠 <div class="container"> <h4>无聊打打地鼠</h4>

团队项目——打地鼠游戏(SPEC)系统性能评估测试

1.SPEC测试的目标: 本轮测试的目的是测试打地鼠游戏的需求以及确保每个需求都能得到满足的方法.编写此需求说明书是为了使用户和开发人员对所开发的系统有一致的理解.通过阅读此说明书,开发人员可以了解当前业务的具体需求和要实现的主要功能,用户通过阅读此说明书可以确认开发人员对其业务需求的认识是否正确,并对系统要实现功能有初步的了解. 本轮测试内容包括以下打地鼠游戏以下的子系统: 1.游戏功能子系统 2.积分功能子系统 3.DIY功能子系统 4.计时功能子系统 5.排行功能子系统  2. 项目的典型

如何在Android和iOS设备上录制游戏?

内容简介 如何在Android和iOS设备上录制游戏? 如何在Android和iOS设备上录制游戏? Xbox One,PS4,Windows 10等都集成了游戏录制功能,而且可以把录制的视频分享到网上. 现在,Android和iOS设备也可以实现游戏录制了. 怎么做呢?我们分为Android和iOS平台来介绍. Android平台 首先下载安装一个App,叫做<Google Play Games>. 运行此App,在菜单中点击<My Game>(英语<我的游戏>的意思

Android 多线程 打地鼠游戏

前言:最近比较喜欢多线程了,看到了一些线程案例,这里总结一下打地鼠游戏的整个过程. 1.首先是主活动要加载的布局,我一般就喜欢早点把这个写上,这样就好在主活动中玩弄这些控件了.闲话不多说,一个FrameLayout,一直以来我用的都是什么RelativeLayout,linearLayout,其实呢,这个东西就把它想做一个布局,仅此而已.里面有一个ImageView,主要就是老鼠的图片了. 2.其次在MainActivity中声明一些变量或者常量,这些变量的作用是暂时的-----从别人那得到东西

原生js简单打地鼠游戏

js部分内容 ------------------------------------------------------ var start = document.getElementById("start"); /*游戏开始按钮*/var diglettLocation = document.getElementsByClassName("anmint");var gameImg = ['img/ds01.png', 'img/ds03.png', 'img/d