简易打地鼠游戏开发

原创 2016年08月30日 18:29:49

最近看了“微微一笑很倾城”,我对开发游戏越来越有兴趣了,今下午就自己弄了一个简单的打地鼠游戏。哈哈,界面太美,不敢直视。。。

说明:运行程序,在屏幕上将随机显示地鼠,触摸地鼠后,该地鼠将不显示。同时再屏幕上通过消息提示框显示打到了几只地鼠。

技术:如何在指定的位置随机显示地鼠,主要是通过县城与消息处理进行控制的。首先使用Thread线程对象记录地鼠的出现位置。然后通过Handler消息控制地鼠的出现。使用Thread线程对象记录地鼠出现位置。

实现:

1.main.xml

2.MainActivity.java  时间问题,代码粗暴的上来,详尽,注释清晰

public class MainActivity extends AppCompatActivity {
    //声明打地鼠游戏所需要的成员变量
    private int i = 0;//记录打到了几只地鼠
    private ImageView mouse;//声明一个imageView对象
    private Handler handler;//声明一个handler对象
    //创建一个表示地鼠位置的数组
    public int[][] position = new int[][]{{131,325},{324,249},{321,356},{243,296},{319,469},{432,292},{172,258}};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        //
        MouseMove();
        Thread thread = new Thread(new Runnable() {
            @Override
            public void run() {
                int index = 0;//创建一个记录地鼠位置的索引值
                while(!Thread.currentThread().isInterrupted()){
                    index = new Random().nextInt(position.length);//产生一个随机数
                    Message msg = handler.obtainMessage();//获取一个message
                    msg.arg1 = index;//保存地鼠标位置的索引值
                    msg.what = 0x101;//设置消息标识
                    handler.sendMessage(msg);//发送消息
                    try {
                        Thread.sleep(new Random().nextInt(500) + 500);//休眠一段时间
                    } catch (InterruptedException e) {
                        e.printStackTrace();
                    }
                }
            }
        });
        thread.start();//开启线程
        handler = new Handler(){
            @Override
            public void handleMessage(Message msg) {
                int index = 0 ;
                if(msg.what == 0x101){
                    index = msg.arg1;//获取位置索引值
                    mouse.setX(position[index][0]);//设置x轴位置
                    mouse.setY(position[index][1]);//设置y轴位置
                    mouse.setVisibility(View.VISIBLE);//设置地鼠显示

                }
                super.handleMessage(msg);
            }
        };

    }


    private void MouseMove() {
        mouse = (ImageView) findViewById(R.id.iv);
        mouse.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                mouse.setVisibility(View.INVISIBLE);
                i++;
                Toast.makeText(
                        MainActivity.this,"打到["+ i + "]只老鼠",Toast.LENGTH_SHORT
                ).show();
                return false;
            }
        });
    }
}



版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

android简单小游戏——打地鼠

这些天研究了一下View中一些函数的使用,以及一些基本游戏功能的实现,做了一款打地鼠的小游戏,带有笔者写时的丰富注释,初学者可以下来玩玩,学习学习,大神勿喷。。。小弟也是在边学别人的代码边写的,虽然有...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

手把手教你如何设计打地鼠游戏(技术教程)

写在前面:这是一篇冗长而专业的技术教程, 林子费劲功夫想让学习ComputerScience不辣么枯燥,着实花了好多时间呢?不信往下看嘛?!文末有惊喜哟!         本App设计的功能包...
  • linzi0
  • linzi0
  • 2016年04月24日 14:42
  • 7854

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

打地鼠游戏收获

今天花了一天的时间写了一个简单的打地鼠游戏。在开发的过程中用到了很多之前开发都没有用到的知识点:具体总结如下: 1:首先是关于倒计时的图片更改。需要达到的效果就是当玩家点击开始游戏的时候就会倒计时三...

使用Handler实现打地鼠(下)

package com.studio.handlerproject;import android.os.Handler; import android.os.Message; import andro...
  • Rainary
  • Rainary
  • 2017年08月19日 22:51
  • 104

Android游戏开发————打地鼠

android的游戏开发功能十分强大,第

TangIDE游戏开发之70行代码实现打地鼠

对于没有接触过html的朋友,要实现一个最简单的html5打地鼠游戏,也是不知道从何下手的。就算是html高手,没有上千行代码,也完不成一个像样的打地鼠游戏。网上找到一个开源的打地鼠游戏(参见下载地址...

Android学习 游戏开发之打地鼠(二,游戏设计和主界面设计)

游戏设计思路: 主界面点击开始游戏:进入打地鼠界面游戏中有12个地洞,游戏时间为30s(可以自己设置),每0.5s会有地鼠随机出现在一个地洞中,玩家触摸屏幕,打到地鼠加10分,否则不加分。30s后游...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:简易打地鼠游戏开发
举报原因:
原因补充:

(最多只允许输入30个字)