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

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

  SurfaceView在Android中用作游戲開(kāi)發(fā)是最適宜的,本文就將演示游戲開(kāi)發(fā)中常用的兩種繪圖刷新策略在SurfaceView中的實(shí)現(xiàn)方法。

  首先我們來(lái)看一下本例需要用到的兩個(gè)素材圖片:

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

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

  實(shí)現(xiàn)代碼如下:

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子類(lèi)
class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback {

// 背景圖
private Bitmap BackgroundImage;
// 問(wèn)號(hào)圖
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) {
// 啟動(dòng)自定義線(xiàn)程
new Thread(new MyThread()).start();
}

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

it知識(shí)庫(kù)Android SurfaceView 繪圖覆蓋刷新及臟矩形刷新方法,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲精品有码在线观看 | xart欧美一区在线播放 | 色欲AV蜜臀AV在线观看麻豆 | 嗯 用力啊 嗯 c我 啊哈老师 | 69精品国产人妻蜜桃国产毛片 | 在线亚洲免费 | 色AV色婷婷96人妻久久久 | 纯肉无码AV在线看免费看 | 99免费精品 | 高H辣肉办公室 | 打卡中国各地奋斗第一线 | 啦啦啦WWW在线观看免费高清版 | 日韩亚洲国产欧美免费观看 | 成人免费视频一区 | 成人国产精品视频频 | 麻豆出品国产AV在线观看 | 暖暖视频免费观看视频 | 亚洲 欧美 国产 综合五月天 | 鬼灭之刃花街篇免费樱花动漫 | 久久机热视频 这里只有精品首页 | 国产 日韩 欧美 综合 激情 | 草柳最新地址 | 国产亚洲AV无码成人网站 | 国产精品看高国产精品不卡 | 快穿之诱受双性被灌满h | 中文字幕本庄优花喂奶 | 国产午夜精品久久久久婷婷 | 国产精品久久毛片A片软件爽爽 | 熟妇无码乱子成人精品 | 久久视频这里只精品99re8久 | 久久99re2热在线播放7 | 老外的好大c的我好爽 | 狠狠狠色丁香婷婷综合久久 | 俄罗斯6一9泑女网站 | 亚洲一级毛片免费在线观看 | 特级做A爰片毛片免费看108 | 欧美人与动牲交A精品 | 在线播放av欧美无码碰 | 久久这里只有精品国产精品99 | 亚洲日本一区二区三区在线不卡 | 欧美一级成人影院免费的 |