这学期我们班教j2me游戏开发,教材是《java游戏50例》。而最近因为要考试,所以没有时间长时间写android代码,又不想荒废了android,所以我就想说把这本的实例都转换成android版,一天写一些。
今天写的是游戏view的框架代码。。
package com.wjh.demon_1;
import android.content.Context;
import android.graphics.Canvas;
import android.os.Handler;
import android.os.Message;
import android.view.KeyEvent;
import android.view.View;
public class MainView extends View implements Runnable{
private boolean m_bRunning = false;
private Handler handler = null;
public MainView(Context context) {
super(context);
// TODO Auto-generated constructor stub
//获得焦点
setFocusable(true);
start();
}
public void start()
{
m_bRunning = true;
handler = new Handler(){
@Override
public void handleMessage(Message msg) {
// TODO Auto-generated method stub
super.handleMessage(msg);
MainView.this.invalidate();
}
};
Thread thread = new Thread(this);
thread.start();
}
//线程启用方法
public void run()
{
long t1= System.currentTimeMillis();
long t2 = t1;
while(m_bRunning)
{
t2 = System.currentTimeMillis();
if(t2 -t1>100)
{
t1 = t2;
//重回图形
handler.sendEmptyMessage(0);
}
}
}
public void stop()
{
m_bRunning = false;
}
//画图方法
@Override
protected void onDraw(Canvas canvas) {
// TODO Auto-generated method stub
super.onDraw(canvas);
}
//获得按键输入
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated method stub
return super.onKeyDown(keyCode, event);
}
}
代码包:
Demon_1.rar