1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > android---小游戏打地鼠

android---小游戏打地鼠

时间:2022-04-10 17:22:17

相关推荐

android---小游戏打地鼠

创建线程的两种方式

1 继承 Thread

2 接口 Runnabe

start() 开启一个线程

sleep(时间) 线程的休眠

interrupt 中断线程

4Handle刷新ui

信息处理类,运行我们发送一个消息和处理Message和Runable的信息队列MessageQueue

回调接口 handleMessage(){} 更新ui处理信息

sendMessage() 发送一个消息

sendEmptyMessage() 发送一个空消息

sendMessageAtTime()定时发送消息

sendMessageDelayed()延迟多少时间发送

消息类

Message message = new Message()

message.what =1001;

message.obj = "333fdsd"

package com.yifei.myapplication;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.view.MotionEvent;import android.view.View;import android.widget.FrameLayout;import android.widget.ImageView;import android.widget.Toast;import java.util.Random;public class MainActivity extends AppCompatActivity {private int num = 0;private int[][] position = new int[][]{{100, 380}, {280, 380}, {470, 380},{95, 600}, {280, 600}, {460, 600},{90, 900}, {280, 900}, {460, 900}};Handler handler = new Handler() {@Overridepublic void handleMessage(Message msg) {switch (msg.what){case 1001:int index = msg.arg1;imageView.setX(position[index][0]); //设置图片的坐标imageView.setY(position[index][1]);imageView.setVisibility(View.VISIBLE);//设置图片显示break;default:return;}}};private ImageView imageView;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);FrameLayout frameLayout = findViewById(R.id.frame);imageView = findViewById(R.id.imageView);Thread thread = new Thread(new Runnable() {@Overridepublic void run() {int index =0;while (!Thread.currentThread().isInterrupted()){index = new Random().nextInt(position.length); //产生一个int类型的随机数Message message = handler.obtainMessage();//从消息池中获取一条消息message.what=1001; //标识一条消息是谁发送的message.arg1 = index;handler.sendMessage(message);try {Thread.sleep(new Random().nextInt(500)+300);} catch (InterruptedException e) {e.printStackTrace();}}}});thread.start(); //启动线程imageView.setOnTouchListener(new View.OnTouchListener() { //设置触摸的监听@Overridepublic boolean onTouch(View v, MotionEvent event) {imageView.setVisibility(View.INVISIBLE); //设置图片消失num++;Toast.makeText(MainActivity.this,"您打中了"+num+"只地鼠",Toast.LENGTH_SHORT).show();return false;}});}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。