android游戏开发学习笔记一(学习书籍 Android游戏编程之从零开始)
来源:互联网 发布:python复制文件代码 编辑:程序博客网 时间:2024/05/21 10:04
/**
* 一个简单的游戏框架
* 没有按键处理,声音播放
* @author 岳振华
*
*/
public class MySrufaceView extends SurfaceView implements Callback, Runnable {
private SurfaceHolder sfh;
private Thread thread;
@SuppressWarnings("unused")
private int surfaceW,surfaceH;
private Paint paint;
private Canvas canvas;
public MySrufaceView(Context context) {
super(context);
sfh = this.getHolder();// 获得surfaceHolder对象
sfh.addCallback(this);
thread=new Thread(this);
paint=new Paint();//新建画笔
paint.setColor(Color.RED);//设置画笔颜色
paint.setAntiAlias(true);//?
this.setKeepScreenOn(true);//保持屏幕常亮
}
/**
* 开始动画
*/
@Override
public void startAnimation(Animation animation) {
super.startAnimation(animation);
}
/**************************** callback的几个方法 ********************/
/**
* 当Surface第一次创建后会立即调用该函数
* 一般情况下都是在另外的线程来绘制界面,所以不要在这个函数中绘制Surface
*/
@Override
public void surfaceCreated(SurfaceHolder holder) {
surfaceW=this.getWidth();
surfaceH=this.getHeight();
thread.start();//开启线程
}
/**
* 当Surface的状态(大小和格式)发生变化的时候会调用
* 该函数 在surfaceCreated调用后该函数至少会被调用一次
*/
@Override
public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
}
@Override
public void surfaceDestroyed(SurfaceHolder holder) {
}
/**************************** callback的几个方法 ********************/
/**
* 绘图方法
*/
private void draw()
{
int i=0;
try {
//获得canvas实例
canvas=sfh.lockCanvas();
canvas.drawColor(Color.WHITE);//刷屏
canvas.drawText("岳振华"+i, 100, 100, paint);//画文本
i++;
} catch (Exception e) {
e.printStackTrace();
}
finally
{
if(null!=canvas)
{
sfh.unlockCanvasAndPost(canvas);//提交画布
}
}
}
@SuppressWarnings("static-access")
@Override
public void run() {
//绘图
draw();
try {
thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
- android游戏开发学习笔记一(学习书籍 Android游戏编程之从零开始)
- android游戏开发学习笔记二(学习书籍 Android游戏编程之从零开始)
- android游戏开发学习笔记三(学习书籍 Android游戏编程之从零开始)
- android游戏开发学习笔记四(学习书籍 Android游戏编程之从零开始)
- android游戏开发学习笔记五(学习书籍 Android游戏编程之从零开始)
- android游戏开发学习笔记六(学习书籍 Android游戏编程之从零开始)
- android游戏开发学习笔之七 (学习书籍 Android游戏编程之从零开始)
- android游戏开发学习笔之八 (学习书籍 Android游戏编程之从零开始)
- android游戏开发学习笔之九 (学习书籍 Android游戏编程之从零开始)
- Android游戏开发学习笔记(一)
- 《Android游戏编程之从零开始》笔记
- 【读书笔记《Android游戏编程之从零开始》】10.游戏开发基础(View 游戏框架)
- 《Android游戏编程之从零开始》
- 【读书笔记《Android游戏编程之从零开始》】7.Android 游戏开发常用的系统控件(Dialog)
- 【读书笔记《Android游戏编程之从零开始》】9.游戏开发基础(如何快速的进入 Android 游戏开发)
- Android游戏开发学习笔记(1)
- Android游戏开发学习(一):游戏的基本架构
- 【读书笔记《Android游戏编程之从零开始》】19.游戏开发基础(游戏音乐与音效)
- 我来看一天编程4小时
- VS2010选择Framework版本
- escape,encodeURI,encodeURIComponent
- 第2节 USB的通讯协议
- Android框架浅析之锁屏(Keyguard)机制原理
- android游戏开发学习笔记一(学习书籍 Android游戏编程之从零开始)
- 用linq做datatable分组统计时,字段为null 转换类型出错的解决方案 亲测
- 孕后的必要货币准备
- SQLce 数据表的命名规则之数字命名排错小记(SQLce Table naming rules)
- HOWTO - Apache2 + Subversion + SSL
- http和HTTPS的区别及SSL介绍
- hdu 4311
- 青春划过指尖
- android游戏开发学习笔记二(学习书籍 Android游戏编程之从零开始)