台球游戏系统安卓课程设计(编辑修改稿)内容摘要:

onMeasure 确定 view 大小、 onLayo 确定各个子控件的位置与大小, onDraw 方法显示函数, initBitmao 方 法加载图片。 监听器 public class KeyThread extends Thread { private boolean flag=true。 GameView gameView。 private int sleepSpan=40。 private float changeSpeedTime=80f。 //改变速度的时间点 public KeyThread(GameView gameView) { =gameView。 } @Override public void run() { while(flag) { if(!((amp。 0x20)==0))//第 6 位是 1,可以改变按下按钮时间 { +=。 } if(!((amp。 0x1)==0))//和 00001 按位或,判断第 1 位是否为 1,标志向左移 { if(changeSpeedTime)//如果按键时间不足 { ()。 //将球杆慢速左转 } else//如果按键超过规定时间 { ()。 //将大炮快速左转 } } else if(!((amp。 0x2)==0))//和 00010 按位或,判断第 2位是否为 1,标志向右移 { if(changeSpeedTime)//如果按键时间不足 { ()。 //将球杆慢速右转 } else//如果按键超过规定时间 { ()。 //将大炮快速右转 } } try{ (sleepSpan)。 //睡眠指定毫秒数 } catch(Exception e){ ()。 //打印堆栈信息 } } } public void setFlag(boolean flag) { = flag。 } } 这监听器是起监听作用的线程类,这段代码是监听触控按键的线程类,这个线程是对球杆角度偏移进行控制。 线程间通信 Handler myHandler = new Handler(){//处理各个 SurfaceView 发送的消息 public void handleMessage(Message msg) { switch() { case : gotoMainMenuView()。 break。 case : gotoGameView()。 break。 case : gotoSoundControlView()。 break。 case : gotoWinView()。 break。 case : gotoFailView()。 break。 case : gotoHighScoreView()。 break。 case : gotoWelleView()。 break。 case : gotoHelpView()。 break。 case : gotoAboutView()。 break。 case : gotoChoiceView()。 break。 case : goToOverView()。 break。 } } }。 线程间的通信需要用到 Handler 来发送消息。 线程之间的通信的原理是,线程通过 Handler 将消息发送出去,发出去的消息就会到进入到 MessageQueue 中,然后再通过 Looper 将消息循环的发送出去。 是 Messge 对象的属性,起到标示作用。 自定义按钮 public class ImageButtonEx extends Button { protected Bitmap btBitmap。 protected boolean bButtonPressed=false。 public ImageButtonEx(Context context){ super(context)。 } public ImageButtonEx(Context context,Bitmap btBitmap){ super(context)。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。