国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語言 - Android - Android使用Handler實(shí)現(xiàn)打地鼠游戲

Android使用Handler實(shí)現(xiàn)打地鼠游戲

2022-03-01 15:40輕擾時(shí)光 Android

這篇文章主要為大家詳細(xì)介紹了Android使用Handler實(shí)現(xiàn)打地鼠游戲,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

本文實(shí)例為大家分享了Android使用Handler實(shí)現(xiàn)打地鼠的具體代碼,供大家參考,具體內(nèi)容如下

1.實(shí)現(xiàn)效果

如下圖所示:

Android使用Handler實(shí)現(xiàn)打地鼠游戲

2.代碼實(shí)現(xiàn)

新建一個(gè)名為DiglettDemo的項(xiàng)目,activity_main.xml代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 tools:context=".MainActivity">
 
 <ImageView
  android:id="@+id/imageView"
  android:layout_width="80dp"
  android:layout_height="80dp"
  android:src="@drawable/diglett"
  android:visibility="gone" />
 
 <Button
  android:id="@+id/button"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentBottom="true"
  android:layout_centerHorizontal="true"
  android:layout_marginBottom="45dp"
  android:text="點(diǎn)擊開始" />
 
 <TextView
  android:id="@+id/textView"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:layout_alignParentTop="true"
  android:layout_centerHorizontal="true"
  android:layout_marginTop="20dp"
  android:textColor="#ff0000"
  android:textSize="20sp" />
</RelativeLayout>

MainActivity.class代碼如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
public class MainActivity extends AppCompatActivity implements View.OnClickListener, View.OnTouchListener {
 
 public static final int CODE = 999;
 public static final int RANDOM_NUMBER = 500;
 private TextView mTextView;
 private Button mButton;
 private ImageView mImageView;
 
 /**
  * 定義地鼠的位置
  */
 public int[][] mPosition = new int[][]{
   {342, 180}, {432, 880}, {521, 256}, {429, 780},
   {456, 976}, {145, 665}, {123, 678}, {564, 567},
 };
 
 private int mTotalCount, mSuccessCount = 0;
 public static final int MAX_COUNT = 10;
 
 private MyHandler mMyHandler = new MyHandler(this);
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);
  initView();
 }
 
 private void initView() {
  mTextView = findViewById(R.id.textView);
  mButton = findViewById(R.id.button);
  mImageView = findViewById(R.id.imageView);
  mButton.setOnClickListener(this);
  mImageView.setOnTouchListener(this);
 }
 
 @Override
 public void onClick(View v) {
  switch (v.getId()) {
   case R.id.button:
    start();
    break;
  }
 }
 
 private void start() {
  mTextView.setText("游戲開始了!");
  mButton.setText("游戲中...");
  mButton.setEnabled(false);
  //發(fā)送消息
  next(RANDOM_NUMBER);
 }
 
 private void next(int delayTime) {
  //產(chǎn)生一個(gè)0——數(shù)組長(zhǎng)度的隨機(jī)數(shù)
  int positon = new Random().nextInt(mPosition.length);
  Message message = Message.obtain();
  message.what = CODE;
  message.arg1 = positon;
  mMyHandler.sendMessageDelayed(message, delayTime);
  //每發(fā)送一次消息,總數(shù)就加一
  mTotalCount++;
 }
 
 /**
  * 圖片點(diǎn)擊事件
  * @param v
  * @param event
  * @return
  */
 @Override
 public boolean onTouch(View v, MotionEvent event) {
  //每次觸碰到地鼠,則地鼠消失,打到地鼠的數(shù)量加一
  v.setVisibility(View.GONE);
  mSuccessCount++;
  mTextView.setText("打到了" + mSuccessCount + "只,共" + MAX_COUNT + "只");
  return false;
 }
 
 public static class MyHandler extends Handler {
  private final WeakReference<MainActivity> mWeakReference;
 
  public MyHandler(MainActivity activity) {
   this.mWeakReference = new WeakReference<>(activity);
  }
 
  @Override
  public void handleMessage(Message msg) {
   MainActivity activity = mWeakReference.get();
   super.handleMessage(msg);
   switch (msg.what) {
    case CODE:
     if (activity.mTotalCount > MAX_COUNT) {
      //游戲結(jié)束,初始化游戲
      activity.clear();
      Toast.makeText(activity, "地鼠打完了!", Toast.LENGTH_SHORT).show();
      return;
     } else {
      int position = msg.arg1;
      activity.mImageView.setX(activity.mPosition[position][0]);
      activity.mImageView.setY(activity.mPosition[position][1]);
      activity.mImageView.setVisibility(View.VISIBLE);
      //在隨機(jī)位置上顯示地鼠之后,再次發(fā)送消息
      int randomTime = new Random().nextInt(RANDOM_NUMBER) + RANDOM_NUMBER;
      activity.next(randomTime);
     }
     break;
   }
  }
 }
 
 /**
  * 游戲結(jié)束,初始化游戲
  */
 private void clear() {
  mTotalCount = 0;
  mSuccessCount = 0;
  mImageView.setVisibility(View.GONE);
  mButton.setText("點(diǎn)擊開始");
  mButton.setEnabled(true);
 }
}

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/qingjianduoyun/article/details/80634068

延伸 · 閱讀

精彩推薦
740
主站蜘蛛池模板: 伊人草| 日韩欧美国产一区二区 | 欧美精品一区视频 | 91精品国产一区二区三区免费 | 久久99精品久久久久久园产越南 | 久久成人一区二区 | 午夜影晥 | 欧美乱大交xxxxx春色视频 | 日比视频网站 | 久久久精品视频国产 | 中文字幕高清免费日韩视频在线 | 免费一区二区三区四区 | 欧美电影一区 | 国产精品成av人在线视午夜片 | 亚洲xx视频 | 我我色综合 | 91日韩精品一区二区三区 | 四虎小视频 | 日韩欧美国产精品综合嫩v 日韩a∨精品日韩在线观看 | 夜本色 | 久久免费99精品久久久久久 | 黄色在线免费 | 日本在线免费观看 | 国产二区三区 | 国产精品毛片一区二区三区 | 91久久国产综合久久 | 精精国产xxxx视频在线观看 | 亚洲久草 | 毛片免费在线播放 | 精品中文字幕在线 | 国产一区二区三区免费播放 | 日韩精品亚洲一区 | 一区在线视频 | 午夜黄色影院 | 亚洲精品视 | 亚洲欧洲精品成人久久奇米网 | 成人久久久 | 久久久www | 国产高清一级片 | 成人欧美 | 欧美综合一区 |