天天看点

Android加载绘制游戏位图文件AssetManager 一看就懂Android加载绘制游戏位图文件AssetManager

Android加载绘制游戏位图文件AssetManager

游戏素材加载步骤如下:

1、创建AssetManager对象 AssetManager assets=context.getAssets();

2、创建位图文件输入流 InputStream istream=assets.open("picture.png");

3、设置位图解码的色彩浓度 BitmapFactory.Option options=new BitmapFactory.Options(); options.inPreferredConfig=Bitmap.Config.ARGB_8888;//图像格式设置为32位

4、读取输入流,并返回Bitmap图 Bitmap bitmap=BitmapFactory.decodeStream(istream,null,options);

5、在屏幕上绘制 canvas.drawBitmap(bitmap,0,0,null);

具体实例如下:游戏中加载图片资源 package graphics;

import java.io.InputStream;

import android.app.Activity;

import android.content.Context;

import android.content.res.AssetManager;

import android.graphics.Bitmap;

import android.graphics.BitmapFactory;

import android.graphics.Canvas;

import android.graphics.Color;

import android.os.Bundle;

import android.view.View;

import android.view.Window;

public class LoadBitmapActivity extends Activity{

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

this.setContentView(new DrawView(this));

}

public class DrawView extends View{

Bitmap beauty=null;

public DrawView(Context context) {

super(context);

try {

AssetManager asserts=context.getAssets();

InputStream istream=asserts.open("botton.png");

BitmapFactory.Options options=new BitmapFactory.Options();

options.inPreferredConfig=Bitmap.Config.ARGB_8888;

beauty=BitmapFactory.decodeStream(istream,null,options);

istream.close();

} catch (Exception e) {

e.printStackTrace();

}

}

@Override

protected void onDraw(Canvas canvas) {

super.onDraw(canvas);

canvas.drawColor(Color.rgb(85,107,47));

canvas.drawBitmap(beauty,20,20,null);

}

}

}