Android 游戏开发的入门实例 在 Android 中, SurfaceView 是一个重要的绘图容器,它可以可以直接从内存或 者 DMA等硬件接口取得图像数据。通常情况程序的View 和用户响应都是在同一个线程中处理的,这也是为什么处理长时间事件(例如访问网络)需要放到另外 的线程中去(防止阻塞当前UI线程的操作和绘制)。但是在其他线程中却不能修改UI 元素,例如用后台线程更新自定义View(调用View 的在自定义 View 中的onDraw 函数)是不允许的。 在 Android 系统上开发游戏是Android 开发学习者所向往的,有成就感也有乐趣,还能取得经济上的报酬。那怎样开发Android 游戏呢?下面介绍一个简单的入门实例。 一、创建新工程 首先,我们在Eclipse 中新建一个名为Movement 的工程,并且选择合适的Android SDK,在这里,我们选用的API 是比较低的1.5版本,这样可以让其适应性更强。接下来,我们新建两个类,一个是UpdateThread 类,一个是 SurfaceView 类,它们在项目中分别是负责处理线程和画面的两个类,在接下来会有详细介绍,如下图,分别建立这两个类,注意选择正确它们继承的父类: 在建立完成后,系统的项目结构看上去应该象如下的样子: 二、编写Movment.java 启动程序 任何一个Android 应用都必须有一个主启动程序来启动,我们这里把这个启动程序命名为 Movment,代码很简单如下: public class Movement extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super .onCreate(savedInstanceState); setContentView(new MovementView( this)); } 注意的是,我们这个启动程序不象其他程序一样,在启动的时候,在setContentView中传入界面布局文件,而是直接将MovementView 的实例传递进来,也就是说,直接启动了MovementView 这个类,在这个类中,我们将绘画我们的小球。 三、什么是SurfaceView 在 Android 中, SurfaceView 是一个重要的绘图容器,它可以可以直接从内存或 者 DMA等硬件接口取得图像数据。通常情况程序的View 和用户响应都是在同一个线程中处理的,这也是为什么处理长时间事件(例如访问网络)需要放到另外 的线程中去(防止阻塞当前UI线程的操作和绘制)。但是在其他线程中却不能修改UI 元素,例如用后台线程更新自定义View(调用View 的在自定义 View 中的onDraw 函数)是不允许的。 如果需要在另外的线程绘制...