android游戏开发的入门实例

android游戏开发的入门实例

ID:15397958

大小:159.05 KB

页数:10页

时间:2018-08-03

android游戏开发的入门实例_第1页
android游戏开发的入门实例_第2页
android游戏开发的入门实例_第3页
android游戏开发的入门实例_第4页
android游戏开发的入门实例_第5页
资源描述:

《android游戏开发的入门实例》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Android游戏开发的入门实例在Android中,SurfaceView是一个重要的绘图容器,它可以可以直接从内存或者DMA等硬件接口取得图像数据。通常情况程序的View和用户响应都是在同一个线程中处理的,这也是为什么处理长时间事件(例如访问网络)需要放到另外的线程中去(防止阻塞当前UI线程的操作和绘制)。但是在其他线程中却不能修改UI元素,例如用后台线程更新自定义View(调用View的在自定义View中的onDraw函数)是不允许的。在Android系统上开发游戏是Android开发学习者所向往的,

2、有成就感也有乐趣,还能取得经济上的报酬。那怎样开发Android游戏呢?下面介绍一个简单的入门实例。一、创建新工程首先,我们在Eclipse中新建一个名为Movement的工程,并且选择合适的AndroidSDK,在这里,我们选用的API是比较低的1.5版本,这样可以让其适应性更强。接下来,我们新建两个类,一个是UpdateThread类,一个是SurfaceView类,它们在项目中分别是负责处理线程和画面的两个类,在接下来会有详细介绍,如下图,分别建立这两个类,注意选择正确它们继承的父类:在建立完成后,

3、系统的项目结构看上去应该象如下的样子:二、编写Movment.java启动程序任何一个Android应用都必须有一个主启动程序来启动,我们这里把这个启动程序命名为Movment,代码很简单如下:1publicclassMovementextendsActivity{2@Override3publicvoidonCreate(BundlesavedInstanceState){45super.onCreate(savedInstanceState);6setContentView(newMovementVi

4、ew(this));7}注意的是,我们这个启动程序不象其他程序一样,在启动的时候,在setContentView中传入界面布局文件,而是直接将MovementView的实例传递进来,也就是说,直接启动了MovementView这个类,在这个类中,我们将绘画我们的小球。三、什么是SurfaceView在Android中,SurfaceView是一个重要的绘图容器,它可以可以直接从内存或者DMA等硬件接口取得图像数据。通常情况程序的View和用户响应都是在同一个线程中处理的,这也是为什么处理长时间事件(例如访

5、问网络)需要放到另外的线程中去(防止阻塞当前UI线程的操作和绘制)。但是在其他线程中却不能修改UI元素,例如用后台线程更新自定义View(调用View的在自定义View中的onDraw函数)是不允许的。如果需要在另外的线程绘制界面、需要迅速的更新界面或则渲染UI界面需要较长的时间,这种情况就要使用SurfaceView了。SurfaceView中包含一个Surface对象,而Surface是可以在后台线程中绘制的。在本文中,我们将使用它,直接通过代码创建一个小球,并且随着UpdateThread线程的更新

6、,不断改变小球的位置,下面我们开始学习MovementView的编写,先看下如何运用SurfaceView。首先导入SurfaceView及绘图的相关库文件,如下所示:1packageexample.movement;2importandroid.content.Context;3importandroid.graphics.Canvas;4importandroid.graphics.Color;5importandroid.graphics.Paint;6importandroid.graphics.

7、Rect;7importandroid.view.SurfaceHolder;8importandroid.view.SurfaceView;接着,我们要继承SurfaceView并且实现SurfaceHolder.Callback接口,这是一个SurfaceHolder的内部接口,可以实现该接口获得界面改变的信息,代码如下,并且我们声明了一些成员变量:9publicclassMovementViewextendsSurfaceViewimplementsSurfaceHolder.Callback{10

8、privateintxPos;11privateintyPos;12privateintxVel;13privateintyVel;14privateintwidth;15privateintheight;16privateintcircleRadius;17privatePaintcirclePaint;18UpdateThreadupdateThread;19}而在MovementView的构造函数中,我们设置了小球的大小

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。