基于Android平台的疯狂足球手机游戏的设计与实现
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于Android平台的疯狂足球手机游戏的设计与实现
聂茹;李海恩
【摘要】足球是全世界最受欢迎的球类之一,所以,《疯狂足球》手机游戏的设计开发是一个较为实用的例子。
本游戏为2D平面单机游戏,采用Java3G Android 平台进行开发并实现,用手机键盘进行操作。
软件主要是给喜欢体育类竞技游戏的爱好者使用,2D的平面视觉效果能让玩家对足球场上的情景整体把握,根据变化快速做出反应。
%Football is one of the most popular ball games on world,therefore,the " CrazyFootball "mobile game design and development is a more practical example.This game is for 2 D plane PC games,the whole game is on Java3G Android platform to develop and implement and of course it operates by mobile phone keyboard. The software is mainly providing to sports games lovers.The 2D graphic visual effect can let players on the football ground scene of overall assurance, responding quickly to change.
【期刊名称】《电子测试》
【年(卷),期】2013(000)020
【总页数】2页(P3-4)
【关键词】手机游戏;足球;安卓手机用户;安卓平台
【作者】聂茹;李海恩
【作者单位】华南理工大学广州学院电子信息工程学院,510800;华南理工大学广州学院电子信息工程学院,510800
【正文语种】中文
0 引言
Android是Google在2007年11月5日公布的手机系统平台,早期由 Google 开发,后由(Open Handset Alliance)开发。
2012 年7 月数据显示,Android 占据全球智能手机操作系统市场59%的份额,中国市场为76.7%。
Android是一种以Linux为基础的开放源代码操作系统,任何人对Android感兴趣的人都可以开发基于Android平台的应用程序并发布,Android 是一种全新的开源手机操作系统,具有强大的应用层API 和丰富的传感器功能,其开放的平台有利于开发者开发出各类应用软件,并且无缝地结合Google 优秀的服务。
手机游戏由于具有随时、随地、随身的特性开始在游戏市场占据越来越大的市场份额,本手机游戏是基于Android 系统进行开发,因此,具有更广泛的使用性。
1 系统总体架构
本游戏主要包括以下三个模块:界面模块、运动控制模块和奖励物品模块,各模块及子模块如图1所示。
2 Android 系统下“疯狂足球”游戏的开发
2.1 控制调度模块
本游戏中,控制调度功能主要由FootballActivity类来实现,FootballActivity继承自Activity 类,本游戏中Activity起到了控制器的作用,除了在不同的界面之间切换视图,Activity还负责处理玩家键盘的点击事件和修改键盘状态等事件。
图1 系统总体架构Fig.1 System overall architecture
2.2 欢迎界面模块
游戏欢迎界面模块包括WelcomeView、WelcomeThread、WelcomeDrawThread及CutstomGallery。
下面将对这些模块的功能作介绍。
2.2.1 CutstomGallery类
Andriod中的Gallery控件可以实现图片的水平滚动显示,本设计中的CutstomGallery即是仿照Gallery控件的实现的,可以作为玩家开始游戏前的俱乐部的选择器。
2.2.2 WelcomeView类
WelcomeView类继承于SurfaceView,其主要功能是负责播放欢迎动画和显示菜单。
2.2.3 欢迎界面模块实现
游戏运行后会播放一段欢迎动画,然后会显示游戏的菜单,如图2所示。
在菜单最上方是一个俱乐部标志选择器;中间为游戏中前、中、后场的球员站位分布调节面板以及声音开关;菜单最下方是退出和开始按钮。
图2 游戏的菜单界面Fig.2 Game menu interface
图3 游戏“进球啦”主界面Fig.4 Gam“eGoal”main interface
2.3 游戏加载界面模块
2.3.1 LoadingView、LoadingDrawThread类
该界面在足球游戏表示层中是比较简单的,主要涉及到的类有LoadingView和LoadingDrawThread,LoadingView用于在不同的界面之间切换的时候显示进度,LoadingDrawThread则用于刷新LoadingView显示的内容。
仅仅开发是不够的,必须可以修改LoadingView中绘制内容(如进度值)的方法或线程,否则LoadingView是静止不动的。
因此,需要通过开发和完善中的initSound和updateProgressView方法来实现与LoadingView的通信。
2.4 游戏主界面模块
2.4.1 GameView和DrawThread类
在游戏的主界面中主要涉及到的类有GameView和DrawThread,GameView
负责显示游戏画面,DrawThread用于刷新GameView里的内容。
GameView
类是游戏中比较重要的一个类,所有游戏中可以绘制的内容都在GameView对象中留有引用。
2.4.2 游戏主界面的实现
在模拟器中运行游戏,经过WelcomeView的菜单选择和LoadingView的加载后即可进入GameView,如图3所示。
2.5 运动控制模块
运动控制模块是游戏后台用于控制足球和玩家运动的模块,其中涉及到的类有Ball、PlayerMoveThread、AI Thread和Player。
2.5.1 玩家球员的运动控制
玩家球员的控制是通过按下键盘上的方向键来实现的,在中可以通过重写回调方法来处理按下键盘的事件。
为了能够操纵球员移动的频率,在重写的键盘事件回调方法中不进行球员位置的移动,而是将键盘的状态记录在成员变量keyState中。
2.5.2 AI球员的运动控制
AI球员的运动控制是通过一个简单的算法来实现,该算法可以描述如下:每个固
定的时间,读取足球的运动方向,如果足球的运动方向偏左,则将AI球员的运动
方向设置为向左,如果偏右则设置运动方向向右。
实现AI运动逻辑的是AIThread和PlayerMoveThread。
3 结束语
手机游戏程序与普通PC机上的游戏程序基本的设计思想和基本的编程技术都是相同的,只是由于手机中系统资源的稀缺,设计时必须要仔细考虑系统资源的承受能力,一个重要的原则就是要求游戏的设计尽量缩减对系统资源的使用。
本文叙述了游戏的总体功能架构,详细介绍了各个功能模块的具体实现。
重点介绍游戏中用到的Android关键技术,如通过Activity类实现控制调度模块的对各个界面的切换
管理;在多线程方面,Android提供了非常好的支持。
在游戏中广范应用多线程
机制,使得多个任务并发处理,提高了游戏的效率,给玩家提供较好的用户体验。
参考文献
[1]奚洋,郭健.基于Android的连连看游戏的算法研究[J].无线互联科技,2012,(9):122
[2]耿东久,索岳,陈渝.基于Android 手机的远程访问和控制系统[J].计算机应用,2011,(2):559-561
[3]郭东恩,吴刚.基于Android平台的数独游戏设计与实现[J].计算机与数字工程,2012,(3):46-48
[4]邓珍荣,张敬伟.基于J2ME手机游戏设计及实现[J].计算机与现代化,2009,(9):122-124
[5]林立忠,吴爱燕.基于J2ME的嵌入式手机游戏的设计与开发 [J].煤炭技术,2010,29(2):198-200
[6]王贺,刘知青.基于Android的围棋游戏开发[J].计算机光盘软件与应用,2012,(22):224-228。