天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Android SurfaceView 繪圖覆蓋刷新及臟矩形刷新方法

  SurfaceView在Android中用作游戲開發是最適宜的,本文就將演示游戲開發中常用的兩種繪圖刷新策略在SurfaceView中的實現方法。

  首先我們來看一下本例需要用到的兩個素材圖片:

imageimage  bj.jpg就是一個漸變圖,用作背景。

  question.png是一個半透明的圖像,我們希望將它放在上面,圍繞其圓心不斷旋轉。

  實現代碼如下:

package SkyD.SurfaceViewTest; 
import Android.app.Activity;
import Android.content.Context;
import Android.graphics.Bitmap;
import Android.graphics.BitmapFactory;
import Android.graphics.Canvas;
import Android.graphics.Matrix;
import Android.graphics.Paint;
import Android.os.Bundle;
import Android.view.SurfaceHolder;
import Android.view.SurfaceView;

public class Main extends Activity {

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(
new MySurfaceView(this));
}

// 自定義的SurfaceView子類
class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {

// 背景圖
private Bitmap BackgroundImage;
// 問號圖
private Bitmap QuestionImage;

SurfaceHolder Holder;

public MySurfaceView(Context context) {
super(context);
BackgroundImage
= BitmapFactory.decodeResource(getResources(),
R.drawable.bg);
QuestionImage
= BitmapFactory.decodeResource(getResources(),
R.drawable.question);

Holder
= this.getHolder();// 獲取holder
Holder.addCallback(this);
}

@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width,
int height) {
// TODO Auto-generated method stub

}

@Override
public void surfaceCreated(SurfaceHolder holder) {
// 啟動自定義線程
new Thread(new MyThread()).start();
}

@Override
public void surfaceDestroyed(SurfaceHolder holder) {
// TODO Auto-generated method stub
}
// 自定義線程類
class MyThread implements Runnable {
@Override
public void run() {
Canvas canvas
= null;
int rotate = 0;// 旋轉角度變量
while (true) {
try {
canvas
= Holder.lockCanvas();// 獲取畫布
Paint mPaint = new Paint();
// 繪制背景
canvas.drawBitmap(BackgroundImage, 0, 0, mPaint);
// 創建矩陣以控制圖片旋轉和平移
Matrix m = new Matrix();
// 設置旋轉角度
m.postRotate((rotate += 48) % 360,
QuestionImage.getWidth()
/ 2,
QuestionImage.getHeight()
/ 2);
// 設置左邊距和上邊距
m.postTranslate(47, 47);
// 繪制問號圖
canvas.drawBitmap(QuestionImage, m, mPaint);
// 休眠以控制最大幀頻為每秒約30幀
Thread.sleep(33);
}
catch (Exception e) {
}
finally {
Holder.unlockCanvasAndPost(canvas);
// 解鎖畫布,提交畫好的圖像
}
}
}
}
}
}

it知識庫Android SurfaceView 繪圖覆蓋刷新及臟矩形刷新方法,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 羞羞漫画免费漫画页面在线看漫画秋蝉 | 日韩伦理电影秋霞影院 | 国内卡一卡二卡三免费网站 | 国产午夜精AV在线麻豆 | 国产伦精品一区二区免费 | 无码11久岁箩筣 | 性色欲情网站IWWW九文堂 | 侮辱丰满美丽的人妻 | 久久人妻少妇嫩草AV蜜桃35I | 日本69色视频在线观看 | 亚洲午夜AV久久久精品影院色戒 | 9797在线看片亚洲精品 | 国产高潮国产高潮久久久久久 | 久久久久久久久亚洲 | www伊人网 | 国产成a人片在线观看视频99 | 欧美18精品久久久无码午夜福利 | 日本无码色哟哟婷婷最新网站 | 男子扒开美女尿口做羞羞的事 | 人人碰国产免费线观看 | 亚洲乱亚洲乱妇在线观看 | 国产永久免费观看视频软件 | 久久精品麻豆国产天美传媒果冻 | 热久久免费频精品99热 | h片下载地址 | 亚洲 欧美 国产 在线 日韩 | 中文字幕乱码在线人视频 | 好想被狂躁A片免费久99 | 亚洲国产在线综合018 | www.x日本| 亚洲国产在线99视频 | 动漫AV纯肉无码AV电影网 | 在野外被男人躁了一夜动图 | 日本一本免费线观看视频 | 三级黄色高清视频 | 国产女合集第六部 | a在线观看视频 | 久草在线福利视频在线播放 | 超碰国产人人做人人爽 | 精品第一国产综合精品蜜芽 | 色WWW永久免费视频首页 |