贪吃蛇游戏安卓田莎莎.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
贪吃蛇游戏安卓田莎莎

Android贪吃蛇游戏设计 姓名:田莎莎 学校:长沙理工大学 Android是基于Linux开放性内核的操作系统,是Google公司在2007年11月5日公布的手机操作系统。 早期由原名为Android的公司开发,谷歌在2005年收购Android.Inc后,继续对Android系统开发运营,它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分。底层Linux内核只提供基本功能,其他的应用软件则由各公司自行开发,部分程序以Java编写。1 项目背景说明 针对当今游戏开发的流行趋势,手机游戏的设计已成为主流,随着计算机技术及硬件技术的不断发展,用户的需求量也越来越多,并且用户追求的效果也越来越好,在此形势下好的设计方法尤为重要,基于android系统的手机游戏设计方法简单且效率较高。贪吃蛇游戏也是很多人热衷的游戏,用户不仅要求其界面设计精美,更希望操作简单,程序执行速度快。 Android支持使用Java作为编程语言来开发应用程序,而Android的Java开发方面从接口到功能,都有层出不穷的变化。考虑到Java虚拟机的效率和资源占用,谷歌重新设计了Android的Java,以便能提高效率和减少资源占用,因而与J2ME等不同。 操作系统与应用程序的沟通桥梁,应用分为两层:函数层(Library)和虚拟机(Virtual Machine)。Android的中间层多以Java 实现,并且采用特殊的Dalvik 虚拟机(Dalvik Virtual Machine)。Dalvik虚拟机是一种暂存器型态(Register Based)的Java虚拟机,变量皆存放于暂存器中,虚拟机的指令相对减少。Android应用越来越广泛,开发Android游戏也渐渐成为市场的必须,本游戏的开发是基于Android1.5系统,采用eclipse编程实现。 2设计与实现 具体实现过程分为以下3步:项目框架、游戏类图设计、界面设计。项目框架 新建一个Eclipse工程并命名为Snake,工程如下图所示: 图1.1 Snake工程 工程中包括4个Activity,分别为Snake(主界面)、Game(游戏界面)、Help(游戏说明界面)、AuthorView(作者信息界面),通过不同Activity之间的转换实现不同界面之间的切换。游戏主界面如下图所示: 游戏类图设计 Game(Activity)继承了SnakeView类,SnakeView类继承了TileView类。TileView类继承了View,如下图所示: 图1.3 类图 TiltView的基类是View,包含了贪吃蛇游戏画面的各个设定参数,主要负责绘制游戏画面。TileView类定义如下: public class TileView extends View { private static final String tag = yao; protected static int mTileSize = 20;//方格的边长 protected static int mXTileCount;//X轴上方格的个数 protected static int mYTileCount;//Y轴上方格的个数 private static int mXOffset;//绘图时X轴上的起始坐标 private static int mYOffset;//绘图时Y轴上的起始坐标 private Bitmap[] mTileArray;//位图数组 private int[][] mTileGrid;//映射整个游戏画面的数组 private final Paint mPaint = new Paint();//画笔 public TileView(Context context, AttributeSet attrs) { super(context, attrs); Log.i(tag, TileView Constructor); Log.i(tag, mTileSize= + mTileSize); } //重置位图数组的长度 public void resetTiles(int tilecount) { mTileArray = new Bitmap[tilecount]; } @Override //适应各种分辨率的屏幕,当改变屏幕大小尺寸时,同时修改tile的相关计数指标 protected void onSizeChanged(int w, int h, int oldw, int oldh) { Log.i(tag, onSizeChanged, + w= + w + h= + h + oldw=

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档