WEB开发网
开发学院手机开发Android 开发 Android 开发中的游戏开发使用 View 还是 Surface... 阅读

Android 开发中的游戏开发使用 View 还是 SurfaceView

 2010-02-27 07:25:00 来源:WEB开发网   
核心提示:Global.battlefieldWidth, Global.battlefieldHeight));this.getHolder().addCallback( this );this.setFocusable( true );this.setOnKeyListener( this );bFairy = new BF

Global.battlefieldWidth, Global.battlefieldHeight));

this.getHolder().addCallback( this );

this.setFocusable( true );

this.setOnKeyListener( this );

bFairy = new BFairy(this.getContext());

}

public void surfaceChanged(SurfaceHolder holder,

int format,int width,int height) {

drawThread = new DrawThread(holder);

drawThread.start();

}

public void surfaceDestroyed(SurfaceHolder holder) {

if( drawThread != null ) {

drawThread.doStop();

while (true) try {

drawThread.join();

break ;

} catch(Exception ex) {}

}

}

public boolean onKey(View view, int keyCode, KeyEvent event) {}

}

实例2:用线程画一个蓝色的长方形。

package com.g3.test;

/*

* SurfaceView的示例程序

* 演示其流程

*/

import android.app.Activity;

import android.content.Context;

import android.graphics.Canvas;

import android.graphics.Color;

import android.graphics.Paint;

import android.graphics.RectF;

import android.os.Bundle;

import android.view.SurfaceHolder;

import android.view.SurfaceView;

public class Test extends Activity {

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(new MyView(this));

}

//内部类

class MyView extends SurfaceView implements SurfaceHolder.Callback{

SurfaceHolder holder;

public MyView(Context context) {

super(context);

holder = this.getHolder();//获取holder

holder.addCallback(this);

//setFocusable(true);

}

@Override

public void surfaceChanged(SurfaceHolder holder, int format, int width,

上一页  1 2 3 4  下一页

Tags:Android 开发 游戏

编辑录入:coldstar [复制链接] [打 印]
赞助商链接