Android 多线程 打地鼠游戏

  前言:最近比较喜欢多线程了,看到了一些线程案例,这里总结一下打地鼠游戏的整个过程。

  1.首先是主活动要加载的布局,我一般就喜欢早点把这个写上,这样就好在主活动中玩弄这些控件了。闲话不多说,一个FrameLayout,一直以来我用的都是什么RelativeLayout,linearLayout,其实呢,这个东西就把它想做一个布局,仅此而已。里面有一个ImageView,主要就是老鼠的图片了。

  2.其次在MainActivity中声明一些变量或者常量,这些变量的作用是暂时的-----从别人那得到东西,然后自己用。主要的成员变量有老鼠的个数,ImageView对象,Handler对象,老鼠位置的二元数组,就是在屏幕上的坐标。

  3.直接在onCreate中开启一个线程。Thread t=new Thread(new Runnable){这里面复写一个run方法}-----run方法主要有一个记录老鼠位置的索引值index,然后一个while(!Thread.currentThread().isInterrupted()){   ....产生随机数-----获取一个Message(用到了后面定义的handler)-----Message的一些标识-----handler.sendMessage(m)发送消息到handler-----然后就是线程休眠一段时间-----也是随机的}

  4.继续在onCreate中操刀,handler=new Handler(){  复写一个handlerMessage(Message){   如果就是前面传过来的msg-----获取位置索引值-----设置X坐标-----设置Y坐标-----设置老鼠显示-----如一个ImageView.setVisibility(View.VISIBLE)}-----ImageVIew是老鼠的图片名字 }

  5.给老鼠添加一个触摸监听器-----首先让它消失-----其次将用户打的老鼠数量+1即可。 老鼠.setOnTouchListener(new OnTouchListener(){   ....})-----在里面复写一个onTouch方法,参数是一个视图和event,里面将视图.setVisibility(View.INVISIBLE),然后将全局的i++,然后用一个Toast显示给用户。

  6.That‘s all.原来打地鼠是如此的简单。就是简单的多线程交互。

    早安(づ ̄ 3 ̄)づ-----2017/7/14 8:00

时间: 2024-08-09 19:46:21

Android 多线程 打地鼠游戏的相关文章

Android研究之游戏开发多线程详解

 游戏开发与软件开发多线程的重要性       如果程序主线程被阻塞超过5秒,系统会提示"应用程序无响应" 这就是ANR . ANR的全称是Application Not Responding,使用多线程可以避免ANR.但是这里要注意一下不要为了避免ANR而过多的使用多线程,除非万不得已的情况. 比如访问网络服务端返回的过慢.数据过多导致滑动屏幕不流畅.或者I/O读取过大的资源等等.这里可以开启一个新线程来处理这些耗时的操作. 如果过多使用多线程会出现数据同步的问题须要程序员去处理

宇哥带你飞之Android多线程与异步任务--第一篇

本人工作已经一年多了,具体点说已经一年多3个月了,实习的早,过早的受到了社会的蹂躏.今年6月多份毕业了,然后就到了一个比较大的公司,具体名字就不说了,就是妹子超级超级多....在学校学的是游戏,cx之类的,但是鬼使神差的毕业后跟着同学就干上了应用,多亏了我的第一个老板--李金波,超级感谢~ 好了,废话不多说了,接下来就开启Android多线程与异步任务的学习吧,由于内容有点多,分几篇博客来和大家扯淡~ 学习Android当然就避免不了学习java,java中也有多线程还有线程之间的同步问题等等~

《冰球撞击》Android休闲桌球类游戏现已面试,快来下载吧!

<冰球撞击>Android休闲桌球类游戏现已完工上市快来下载吧! http://pan.baidu.com/s/1dD9vIRv <冰球撞击>是一个类似玩投篮机操作方式的Android桌球游戏,游戏中你需要点击屏幕,然后朝着想要撞击的瓶子的方向滑动并估计距离给予冰球速度与力道,然后迅速释放手指,冰球将会按照你的意志去撞击瓶子,如果撞到就加分,在30秒内撞倒所有瓶子游戏胜利,否则游戏失败,这个游戏就是这么简单与好玩,还在等什么呢?快开客本人的博客,主要集中本人游戏应用,在这里你可以下

Android多线程编程(一)——多线程基础

什么是进程 一个进程是一个独立(self contained)的运行环境,它可以看作一个程序或者一个应用. 什么是线程 而线程是进程中执行的一个任务,Java运行环境是一个包含了不同累和程序的单一进程.线程可以被称为轻量级进程.线程需要较少的资源来创建和驻留在进程中,并且可以共享进程中的资源. Android线程 Android的线程,实际上和Java的多线程编程并没有什么本质上的不同.当我们需要执行一些耗时操作,比如说发起一条网络请求时,考虑到网速等其他原因,服务器未必会立刻响应我们的请求,如

无废话Android之smartimageview使用、android多线程下载、显式意图激活另外一个activity,检查网络是否可用定位到网络的位置、隐式意图激活另外一个activity、隐式意图的配置,自定义隐式意图、在不同activity之间数据传递(5)

1.smartimageview使用 <LinearLayout 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"

第四十一天 一乐在其中—Android的小游戏打飞机(五)添加背景

8月10日,晴."寒蝉凄切,对长亭晚,骤雨初歇." 上篇已经加载了敌机,本篇主要添加背景画面. 本篇要用到的几个函数讲解: 1.addChild(CCNode child, int z):两个参数,第一个要加入场景的对象,第二个是绘制层的顺序,默认参数值为0,表示最高优先层导入,该值越大表示该层在最后加载(在最高一层),一般背景图层是首先加载,其它元素在加载在背景层上面.因为背景在后面加载的话,会覆盖掉前面加载的元素,看不到想要的图层组合效果. 2.schedule(String se

Android多线程分析之四:MessageQueue的实现

罗朝辉 (http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 在前面两篇文章<Android多线程分析之二:Thread的实现>,<Android多线程分析之三:Handler,Looper的实现>中分别介绍了 Thread 的创建,运行,销毁的过程以及 Thread与 Handler,Looper 之间的关联:Thread 在其 run() 方法中创建和运行消息处理循环 Looper,而 Looper::loop() 方法不断地从 Messag

Android多线程分析之二:Thread的实现

Android多线程分析之二:Thread 罗朝辉 (http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 在前文<Android多线程分析之一:使用Thread异步下载图像>中演示了如何使用 Thread 处理异步事务.示例中这个 Java Thread 类都是位于 Framework 层的类,它自身是通过 JNI 转调 dalvik 里面的 Thread 相关方法实现的.因此要分析 Androd 中的线程,就需要分析这两层中的与线程相关的代码,这就是本文要

Android多线程分析之一:使用Thread异步下载图像

罗朝辉 (http://blog.csdn.net/kesalin) CC 许可,转载请注明出处 打算整理一下对 Android Framework 中多线程相关知识的理解,主要集中在 Framework 层的 Thread, Handler, Looper, MessageQueue, Message, AysncTask,当然不可避免地要涉及到 native 方法,因此也会分析 dalvik 中和线程以及消息处理相关的代码:如 dalvik 中的 C++ Thread 类以及 Message