老师今天开始讲android的游戏,讲到了view和surfaceview

下面是view的演示部分

private Paint paint;//游戏里很少用double,都是用longprivate int x=10,y=10;private Thread th;//线程控制private boolean flag;public boolean isFlag() {return flag;}public void setFlag(boolean flag) {this.flag = flag;}public MyView(Context context) {super(context);paint=new Paint();paint.setColor(Color.BLUE);setFocusable(true);setFocusableInTouchMode(true);flag=true;th=new Thread(this);th.start();}@Overrideprotected void onDraw(Canvas canvas) {super.onDraw(canvas);canvas.drawText("点我", x, y, paint);}@Overridepublic boolean onKeyDown(int keyCode, KeyEvent event) {if (keyCode==KeyEvent.KEYCODE_DPAD_DOWN) {System.out.println("down");y++;}//重绘方法invalidate();return super.onKeyDown(keyCode, event);}@Overridepublic boolean onTouchEvent(MotionEvent event) {//必须改为true,否则就会执行一次x=(int) event.getX();y=(int) event.getY();invalidate();return true;}@Overridepublic void run() {while (flag) {System.out.println("run");x++;y++;try {Thread.sleep(50);} catch (InterruptedException e) {e.printStackTrace();}postInvalidate();}}

演示gif动画,暂无



更多相关文章

  1. Android(安卓)Audio System 之二:AudioFlinger
  2. Android(安卓)View刷新机制
  3. Android(安卓)Audio System 之二:AudioFlinger
  4. Android的消息机制
  5. Android消息机制
  6. Android(安卓)AudioFlinger
  7. Android中Handler Runnable与Thread的区别详解
  8. Android正确关闭线程
  9. 比较详细的handle机制

随机推荐

  1. Android(安卓)Screen Monitor抓取真机屏
  2. Android使用SQLite数据库的示例
  3. Android Studio配置google protobuf
  4. Android访问WCF(下篇)-客户端开发
  5. Android的webView应用与js互调app混合开
  6. Android——Jni使用总结
  7. Android 获取当前日期 时间很方便 直接调
  8. android 4.0 NetworkOnMainThreadExcepti
  9. android有用的知识
  10. Android(安卓)常见的几种加密方式RSA、CB