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

Android打地鼠小游戏案例

时间:2019-02-01 13:34:28

相关推荐

Android打地鼠小游戏案例

Android打地鼠小游戏案例

提示:并不完美仅供参考

提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

Android打地鼠小游戏案例打地鼠小游戏代码一、案例演示二、代码部分1.布局文件2.MainActivity.java功能实现代码

打地鼠小游戏代码

`

一、案例演示

二、代码部分

1.布局文件

代码如下(示例):

<?xml version="1.0" encoding="utf-8"?><FrameLayout xmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="@drawable/background"tools:context=".MainActivity"><!--运用FramLsyout文件布局配置 ,游戏界面图片--><ImageViewandroid:id="@+id/imageView_1"android:layout_width="72sp"android:layout_height="72sp"android:src="@drawable/mouse"/><!--生成一个ImageView装入地鼠图片--><TextViewandroid:id="@+id/info"android:layout_width="fill_parent"android:layout_height="fill_parent"/><!--生成一个TextView显示打到地鼠-->

2.MainActivity.java功能实现代码

代码如下(示例):

package com.example.mouse;import androidx.annotation.NonNull;import androidx.appcompat.app.AppCompatActivity;import android.app.Activity;import android.content.pm.ActivityInfo;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.util.Log;import android.view.MotionEvent;import android.view.View;import android.view.WindowManager;import android.widget.ImageView;import android.widget.TextView;import android.widget.Toast;import java.util.Random;public class MainActivity extends AppCompatActivity {private TextView info1;//用来查看洞穴坐标private int i = 0;//存储打到地鼠的个数private ImageView mouse;private Handler handler;public int[][] position = new int[][]{{500,170},{1000,170},{1500,170},{500,1030},{1000,1030},{1500,1030},{500,630},{1000,630},{1500,630}};//地鼠出现坐标@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);//横屏getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);//不显示顶部信息mouse = (ImageView)findViewById(R.id.imageView_1);info1 = findViewById(R.id.info);info1.setOnTouchListener(new View.OnTouchListener() {@Overridepublic boolean onTouch(View v, MotionEvent event) {switch (event.getAction()){case MotionEvent.ACTION_DOWN:float x = event.getRawX();float y = event.getRawY();Log.i("x:"+ x, "y:"+ y );break;default:break;}return false;}});handler = new Handler(){@Overridepublic void handleMessage(@NonNull Message msg){int index;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);}};Thread t = new Thread(new Runnable(){@Overridepublic void run(){int index = 0;while (!Thread.currentThread().isInterrupted()){index = new Random().nextInt(position.length);Message m = handler.obtainMessage();m.what = 0x101;m.arg1 = index;handler.sendMessage(m);try {Thread.sleep(new Random().nextInt(500) + 500);}catch (InterruptedException e){e.printStackTrace();}}}});t.start();mouse.setOnTouchListener(new View.OnTouchListener(){@Overridepublic boolean onTouch(View v, MotionEvent event){v.setVisibility(View.INVISIBLE);i++;Toast.makeText(MainActivity.this, "打到["+ i +"]只地鼠!",Toast.LENGTH_LONG ).show();//显示消息提示框return false;}});}}

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