TiledLayer类实现的是由一组图象格元素(grid of cells)组成的整块虚拟图象。这项技术通常用于绘制游戏平台的滚动背景。多块格可由大块同时替换组合而模拟动态的背景,这不需要逐块替换所有的静态图象格而变得很简单。本游戏中游戏界面就是由此类实现的。
2.5.4 RMS永久存储系统
记录存储管理系统RMS(Record Management System)是一种专门针对移动设备服务而开发的简单数据库系统,作为一个小型数据库系统,它提供了记录存储和积累的功能。跟数据库中的表类似,记录存储中记录集的文件也等同于表,在RMS中每个表被称为Record Store,记录存储中的每个条目被称为Record。
在记录存储中是以字节为基本单位来存放的,只能存放一个字节数组的数据。记录存储器存放在永久存储器中,即使小型计算设备关闭了电源后也保存在永久存储器中,因为永久存储器是一种稀有的资源,为了在需要存储MIDlet所收集的信息时能确保有足够的内存使用,需要合适地管理永久存储器。在这里我们可以通过调用deletRecordStore()方法来删除记录存储集。括号中的参数为需要从设备删除的记录存储集的名字的字符串。
一旦MIDlet打开了一个记录存储器,MIDlet就可以把记录写到记录存储器中,这里我们可以用DateInputStream、DateOutStream或者ByteArrayInputStream、ByteArrayOutputStream来向记录中写入数据。
在RMS中还支持使用javax.microedition.RecordEnumerator类来排序记录,通过记录存储集来访问枚举器。这样就可以使用枚举器进行双向的遍历了,当然如果想反向遍历的,我们可以使用previousRecord。
枚举通常比较混乱,这个时候排序就显得比较重要了,在这儿我们需要创建一个类来比较两个记录,并返回一个整型的值来表示两者的大小或者相等。
同样,对存储系统来说,过滤也是比较重要的一项功能,不过它和比较一样简单,调用javax.microedition.rms.RecordFilter类就可以了解它的使用方法。
除此之外RMS还提供了一个可以使用的监听器,用来监视任何发生的RMS事件,使用监听器可以对一个记录存储集自动响应。
本章将对课题开发的需求进行分析,并设计了系统运行的总体流程。
3.1 游戏开发需求分析
一个相对比较完整的手机游戏,通常包括了:新游戏、游戏设置、排行榜、游戏帮助和游戏说明五个主要部分,本设计也是从学习的角度出发,尽力展示出一个完整游戏的的全部开发构成。
进入游戏主界面设有“新游戏”、“继续”、“高分榜”、“关于”、“帮助”和“离开”六个选择项。界面底部有作者本人的联系方式。