android游戏编程--绘制图形
来源:互联网 发布:linux下游戏开发 编辑:程序博客网 时间:2024/05/04 07:08
我只是一个菜得不能再菜的菜鸟,只是学过几天的JAVA ,做过几乎所有学JAVA 的人都做过的小项目,对android稍有了解。
那天突然想到了一个android游戏的创意。所以从今天开始学习android的游戏编程。一个从没有接触过游戏编程的人,不知道这条路能走多远。如果有一天我成功的写出了我自己的游戏。我希望那些和我一样想开发游戏的人,看着我成长的脚印,能少走弯路。把更多的时间都放到创新上。所以从今天开始,会不定期的写一篇博客来记录我走过的这一路……
游戏开发当然少不了绘制图形,在android里提供了SurfaceView这个类可以称作是一个游戏框架,在这里我们要绘制自己的天地。
绘图之前要先介绍几个类
Paint 这是画笔,我们所有绘制的图形都用到画笔,它包括绘制图形的颜色和形状。
Canvas 这是画布,是我们画图的地方,所有的图形都要放到这上边。
SurfaceHolder.Callback,这个非常重要,怎么说呢,是一个接口用来操纵surface。处理它的Canvas上画的效果和动画,控制表面,大小,像素等。
package hr.csdn.com;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.graphics.Rect;import android.view.SurfaceHolder;import android.view.SurfaceHolder.Callback;import android.view.SurfaceView;public class SnckGrame extends SurfaceView implements Runnable,Callback{private SurfaceHolder sfh;//声明一个画笔private Paint paint;//文本的坐标private int[] m,n;//声明一条线程private Thread th;//线程消亡的标识位private boolean flag;//声明一个画布private Canvas canvas;//声明屏幕的宽高private int screenW, screenH; public SnckGrame(Context context) {super(context);//实例SurfaceHoldersfh = this.getHolder();//为SurfaceView添加状态监听sfh.addCallback(this);paint = new Paint();//设置画笔颜色为白色paint.setColor(Color.WHITE);setFocusable(true);}public void myDraw(){Canvas canvas = sfh.lockCanvas(null);//通过SurfaceHolder对象获取画布 //其实是锁定画布,只有这样才能确保你绘制的图形出现在画布上 canvas.drawRect(new Rect(100,80,60,60), paint); sfh.unlockCanvasAndPost(canvas);//解锁画布,提交画好的图像 }public void surfaceChanged(SurfaceHolder holder, int format, int width,int height) {// TODO Auto-generated method stub}public void surfaceCreated(SurfaceHolder holder) {flag=true;th=new Thread(this);th.start();//在创建suface的时候开启线程}public void surfaceDestroyed(SurfaceHolder holder) {flag=false;//销毁的时候让线程停止}public void run() {while(flag){myDraw();}}}这只是简单的绘制了一个几何图形,向目标迈进了一小步。
- android游戏编程--绘制图形
- android游戏编程--图形绘制(2)
- android编程之图形绘制
- Android 编程下 shape 绘制图形
- Android 编程下 shape 绘制图形
- Android 编程下 shape 绘制图形
- bada 2D游戏编程之一——图形绘制
- 游戏编程入门(3):绘制基本 GDI 图形
- Android游戏编程之基本图形编程
- Android游戏框架libgdx笔记(三):图形绘制详解
- android绘制图形
- Android 简单图形绘制
- Android Canvas 图形绘制
- Android图形绘制
- Android绘制简单图形
- android:SurfaceView绘制图形
- android绘制图形总结
- android 绘制各种图形
- java数组遍历——iterator和for方法
- 端口和协议
- 扩大 vm虚拟机linux磁盘空间
- SyntaxError: Non-ASCII character Python中文处理
- SQL(DDL,DML,DCL及常用函数)
- android游戏编程--绘制图形
- xargs
- Android虚拟机上安装apk软件指南
- 《疯狂的程序员》六
- 毕业半年,开发三个月的女程序员
- delphi程序设计之底层原理
- NS-2随机数产生器
- #ifdef _DEBUG用法小结
- C# 多线程编程 ThreadStart ParameterizedThreadStart