搜索
首页 电脑/网络 笔记本电脑

android SurfaceView 画图为什么保留上一次的图?

  android SurfaceView 画图为什么保留上一次的图??? 就像让一条线动。package com。surface;import java。util。Date;import android。app。Activity;import android。content。
  Context;import android。graphics。Canvas;import android。graphics。Color;import android。graphics。Paint;import android。os。Bundle;import android。
  util。Log;import android。view。SurfaceHolder;import android。view。SurfaceHolder。Callback;import android。view。SurfaceView;public class Test extends Activity { private SurfaceView sv; /** Called when the activity is first created。
   */ @Override public void onCreate(Bundle savedInstanceState) { super。onCreate(savedInstanceState); sv = new GameView(this); setContentView(sv); } public class GameView extends SurfaceView implements Callback { private SurfaceHolder holder; public GameView(Context context) { super(context); // TODO Auto-generated constructor stub holder = getHolder(); holder。
  addCallback(this); } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { // TODO Auto-generated method stub Log。
  i("///surfaceChanged", "surfaceChanged"); // new Thread(new rungame())。start(); } @Override public void surfaceCreated(SurfaceHolder holder) { // TODO Auto-generated method stub Log。
  i("///surfaceCreated", "surfaceCreated"); new Thread(new rungame())。start(); } @Override public void surfaceDestroyed(SurfaceHolder holder) { // TODO Auto-generated method stub Log。
  i("///surfaceDestroyed", "surfaceDestroyed"); } boolean isStart = true; public class rungame implements Runnable { private Canvas c; private Date d; @Override public void run() { // TODO Auto-generated method stub // 游戏逻辑 int fangxiang = 1; float startX = 0, startY = 0, stopX = 340, stopY = 0; while (isStart) { d = new Date(); c = holder。
  lockCanvas(); Paint p = new Paint(); p。setColor(Color。RED); c。drawLine(startX, startY, stopX, stopY, p); holder。unlockCanvasAndPost(c); try { Thread。
  sleep(33); } catch (InterruptedException e) { // TODO Auto-generated catch block e。
  printStackTrace(); } if (startY 480) { fangxiang *= (-1); fangxiang *= (-1); } startY = 2 * fangxiang; stopY = 2 * fangxiang; } } } }}。

全部回答

2018-03-04

41 0
推荐你去看下apidemo中的例子,我记得例子中surfaceview上有2个button。例子应该还是挺好找的。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
笔记本电脑
程序设计
电脑装机
操作系统/系统故障
硬件
百度
互联网
反病毒
软件
笔记本电脑
笔记本电脑
举报
举报原因(必选):
取消确定举报