APP下载

基于J2ME的手机飞机对战游戏的设计与实现

2017-02-20王文月

数码世界 2017年2期
关键词:手机游戏绘制界面

王文月

辽宁锦州渤海大学信息科学与技术学院

基于J2ME的手机飞机对战游戏的设计与实现

王文月

辽宁锦州渤海大学信息科学与技术学院

随着社会的发展,科技的进步,手机技术也取得巨大的额突破。在科技技术的背景下,手机功能逐渐强大,并且在人们的日常生活中起到了越来越大的作用,手机几乎成为了人们生活中不可或缺的一个重要的组成部分。手机从以往的通信工具逐步转变为了休闲娱乐的工具,能够提供人们丰富的娱乐功能,手机游戏的诞生让人们获得了更多的生活乐趣。近些年,手机用户群体的逐渐扩大,推动了手机产业在IT行业中发展最为迅速。目前的手机功能众多,游戏类型众多,手机游戏开发团队也日益地扩大,人们对手机游戏的需求也不断提高。本文基于J2ME设计了手机飞机对战游戏。

手机游戏 J2ME 飞机对战

1 手机游戏的特征

现今,手机游戏的主要盈利来源于游戏点卡的购买、下载中收费机制、销售虚拟物品等。虽然游戏的收费不是很贵,然而考虑到手机的用户群体众多,所以在智能手机日益壮大的今天,越来越多的用户通过手机达到娱乐的目的,手机游戏具有广阔的发展前景,利润十分丰厚。

手机的用户群体来自多个领域,各自的生活背景以及受教育的文化程度不同,以及手机自身的外形、功能方面的多样性,导致了以控制台为主的传统游戏和手机游戏之间存在很大的差异。手机游戏要获得成功,需要具备以下几点:

1.1 易操作,易学习掌握

大部分的手机玩家都不是专业的老手,而是休闲玩家。所以针对大部分手机用户群体,所设计的手机游戏要简单易操作,玩家能够在不需要旁人的帮助或者复杂的指导能够独自掌握游戏内容,以及游戏技巧。玩家只需要凭借自己的感觉做出游戏操作。当游戏中有新功能出现的时候,游戏设计中就会给出简单的游戏介绍以及游戏说明。这是保证游戏易操作的首要前提。

1.2 可爱的造型卡通

对于卡通类型的游戏角色,针对不同年龄阶段的用户群体绘制感兴趣的可爱的卡通造型。根据用户的性别、年龄不同,从而设计出能给与他们产生共鸣的卡通人物造型,以此培养其客户和手机游戏角色之间的感情,这样手机用户才可以从内心上接受,最终让用户群体可以进入到游戏所设定的角色里面。在手机游戏里面用户能够感受到巨大的成功感和满足感。

1.3 可中断性

当玩家在休息以及排队等待的时间里,通常会选择手机游戏打发时间,手机游戏可以让手机用户充分利用起这个碎片化的时间,让用户在等待的过程中娱乐了自己。为用户提供短时间的娱乐功能。

1.4 内容健康

由于不同的年龄阶段的人,感兴趣的手机游戏也不同。手机游戏的使用场合大多是利用人们的空闲时间,手机游戏的内容必须需要保证足够的健康,表现形式方面不可以涉及黄色暴力方面,这样才可以提供一个健康的游戏环境氛围。

2 需求分析

2.1 技术可行性分析

作为小型的射击游戏,“足下机战”游戏的设计是在PC机上实现的,运用免费的软件,J2ME使得手机游戏程序得到了实现。类别中详细说明了特定的设备,比如:除了PDA是单独的种类之外,手机也是属于该类。其中J2ME中需用用到的技术是虚拟机。J2ME满足了Java程序执行程序的过程中不用考虑到底层硬件,在一定程度上大大地简化了手机的应用。GameCanvas类实现了游戏里面的角色动作、子弹的移动已经新建、玩家生命的结束,Sprite类实现了爆炸效果以及碰撞检测。

基于Ecplise6.0.0的集成开发环境,本文实现了游戏的设计,该平台是一个集成度高,功能性强的平台。Eclipse与框架存在很多方面的相同性,而且eclipse的服务需要运用插件实现,开发环境的构建可以通过用插件、组件实现,而且用户能够根据自己的需求设计出新的插件。

3 系统功能设计与实现

本文设计的游戏的设计思想是选择了模块化思想,将对象的属性已经概念分别给游戏中的目标。当游戏开始的时候需要把多种的图形载入之后,需要将背景图形绘制出来。当主线程进入到设计的时候,按照具体的频率值并且运用缓冲技术对屏幕进行重新的绘制,从而实现页面刷新的功能,基于该项操作的基础上可以及手机游戏成功地显示出来。对“发射”键实行控制管理,屏幕上的目标的移动路线与屏幕刷新的频率是有着直接的联系。具体流程图如图1所示。

图1 程序运行流程图

游戏结果界面如图2所示。

图2 游戏运行效果界面

3.1 起始界面

起始界面所需要完成的功能是当游戏开始前提供给用户选择战机的选择。算法思想如下:

①屏幕的刷新:先是绘制部分,该部分具体包括了背景图以及灰暗区域、“返回”按钮。

②将游戏的题目显示在屏幕顶部。

③将战机的箭头方向绘制在屏幕特定的地方,实现思想是在箭头方向确定好后通过paint()方法绘制。

④绘制战机:先是将战机坐标绘制出来,对游戏文字进行设置,接着通过参数的选择,选择switch多路开关对战机以及相应的参数进行判断。

起始界面实现步骤:

StartGame类中实现游戏的起始界面,将变量初始化,接着将paintScreen()方法自定义,进而完成起始界面的绘制。

核心代码如下:

当代码实现以后,运用paint()方法绘制初始界面。起始界面里面,用户能够选用一种战机来完成战斗,战机选择不同,那么所具备的战斗能力也不同,通过战机的选择从而达到各个用户的需求。

3.2 排行榜模块设计

排行榜模块的功能主要是将玩家的成绩记录下来,从而进一步得出玩家的积分,并完成积分制的排名。算法的思想具体如下:

①先进行运行环境的初始化:对变量声明,获得目前的游戏成绩,制作游戏的背景图。

②把游戏的积分放到排行榜:通过for循环来实现,先是比较最高分,当最高分大于其中的一个记录的时候,就把这个记录替换掉,另外并且强行退出for循环。

③因为for循环退出的时候是强制的,所以该过程中的循环变量指的就是排行榜中该记录所在的位置。

④数据库的更新:将数据库打开,数据更新后关闭数据。

⑤排行榜绘制:在屏幕上显示出缓冲区中的数据。

部分核心代码如下:

3.3 游戏说明模块的设计与实现

游戏说明模块的功能是将游戏做个简短的介绍,同时并将介绍显示出来。游戏说明的流程图如图3所示。

图3 游戏说明流程图

游戏说明的步骤如下:

代码设计中,第一步是对游戏文字说明进行定义。例如private static final String introducedString =“这个游戏一共有3关,其中每一小关中有3个小节。每一个玩家的生命有3条,当生命都用完后,就表示游戏结束,当玩家在9个关卡中都通过,这表明玩家成功获胜,结束游戏。”第二步是在定义构建函数的时候在屏幕中显示“游戏说明”,内容的格式是Stringltem组件,另外还需要把“返回”软键增加上去,从而实现侦听器的绑定。具体代码如下:

Introduced(sharpshooterMIDlet midlete){

super(“游戏简单说明”);

this.midlete=midlete;

append(new StringIt(null,introduced));

backCommands=new Command(“退回”,Command.BACK,1),addCommand(backCommands);

RecordStoe rrss=RecordStoe.openRecordSore(“BattleA ircraf”,false);

setCommandListener(this);}

结语:本文的开发平台是J2ME语言,集成开发环境选择Eclipse6.0.0。本文设计的游戏实现的功能包括了飞机射击类游戏中的基本功能。游戏的组成模块包括了地图模块、主菜单模块、音效设置以及战斗模块等。在菜单的功能模块中可以显示所有的功能,例如音乐播放,以及游戏说明等。

[1]Donald Brown,Chad ichaelDavis,Scott Stanlick. Struts 2 in Action [M]. American, Manning Publications,2015,35-30

[2]吴玑震,戴天啸,马春江.飞机大战游戏软件中的数据结构和策略分析[J]信息与电脑,2016(13)

猜你喜欢

手机游戏绘制界面
绘制童话
关于“移动互联网时代青少年手机游戏沉迷问题研究”的文献综述
微重力下两相控温型储液器内气液界面仿真分析
作品赏析
国企党委前置研究的“四个界面”
绘制世界地图
扁平化设计在手机界面中的发展趋势
神秘的不速之客
手机游戏试了才说好