基于android平台的大象挪盒子游戏设计与开发-毕设论文_第1页
基于android平台的大象挪盒子游戏设计与开发-毕设论文_第2页
基于android平台的大象挪盒子游戏设计与开发-毕设论文_第3页
基于android平台的大象挪盒子游戏设计与开发-毕设论文_第4页
基于android平台的大象挪盒子游戏设计与开发-毕设论文_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要随着科技的进步,人们对手机的要求已经不仅仅局限于通电话、发信息那么简单,如今,智能手机已经全面向我们走来,渗透到生活的每一个角落。手机的应用服务迎来全面发展的新时期,游戏也是其中之一。伴随着GoogleAndroid操作系统的盛行,基于AndroidSDK的系统开发和基于Android应用的开发等也倍受大家关注。本课题是结合EclipseSDK开发平台开发的一款基于安卓平台的推箱子小游戏。经典的推箱子是一个来自日本的古老游戏,目的是在训练你的逻辑思考能力。在一个狭小的仓库中,要求把木箱放到指定的位置,稍不小心就会出现箱子无法移动或者通道被堵住的情况,所以需要巧妙的利用有限的空间和通道,合理安排移动的次序和位置,才能顺利的完成任务。随着计算机游戏的发展,很多编程爱好者基于该游戏的思想开发出了各种版本、各种类型的推箱子。这其中也包括很多手机版本的实现。此Android推箱子游戏是基于AndroidSDK2.2基础上设计的,采用MVC开发模式,主要分为开始游戏、声音开关、游戏说明、退出游戏四个功能模块的设计与实现。游戏不仅是适合各类人群休闲娱乐的活动,还有助于提高人们思考问题能力与想象力,改善思维方式,拓展思维。本游戏为了更好的提高用户游戏体验,一改传统的2D图形界面,提出了2.5D的画图模型,提高游戏的品质。该文章整体分为三大部分,第一部分首先对android平台游戏开发以及研究现状做了简要的说明,并对android游戏开发平台搭建的详细流程进行介绍。第二部分详细介绍推箱子游戏的背景以及介绍推箱子游戏的策划与准备,最后对游戏的系统设计和详细设计做了详细的说明。关键词:推箱子游戏;androidSDK;智能手机;MVCABSTRACTWiththeadvancementoftechnology,Therequirementsofpeopleonthemobilephoneisnotsimplylimitedtophonecallsandsendinformation.Today,smartphonehasbeenfullytowardusandpenetrateintoeverycorneroflife.Phoneapplicationservicesusherinanewperiodofcomprehensivedevelopment,thegameisoneofthem.WiththepopularityoftheGoogleAndroidoperatingsystem,theAndroidSDK-basedsystemdevelopmentbasedonAndroidapplicationdevelopmentmuchofourattention.ThisdesignisasokobangamewhichbasedonandroidplatformwithEclipseSDK.ThesokobangameisveryclassicfromJapan,aimedattraininglogicalthinkingability.Thisgamerequiresyoutoputwoodencasestotheplacespresetinacrampedwarehouse,andifyouwanttocompletethetasksmoothly,youneedmakeanreasonablearrangementoftheorderandderectionoftheboxmovingunderthelimitedspaceandchannelsaround,becausesituationslikeboxcannotbemovedorchannelisblockedhappendwhenyourthinkinggotevenalittleunreasonable.Asthedevelopmentofthecomputergames,allkindsofthisboxmovinggameisdevelopedbyprogrammingenthusiasts,includingsomemobilephoneversions.ThisdesignisalsoformobilephoneswhichbasedontheAndroidSDK2.2,USEStheMVCdevelopmentpattern,andconsistedoffourfunctionmodule:gamemainprogram,voicecontrol,gameintroduction,gamequitset.Gamesnotonlycanbeentertainmentactivitiessuitableforallkindsofpeople,butalsohelpstoimprovepeople'sthinkingabilityandimagination,andcanimprovethewayofthinking.Inordertobetterimprovetheuserexperience,thegamechangthetraditional2Dgraphicsinterfacetothedrawingmodelof2.5Dtoimprovethequalityofthegame.Thewholearticleisconsistedofthreeparts.Firstly,theauthormadeabriefintroductionontheandroidplatformgamedevelopment,andresearchstatus,thendiscussedhowtobuildtheandroidgameplatformindetail.Thesecondparttalkaboutthehistoryofthisboxmovinggameanddesignidea,andwhatkindofpreparationworkyouneedtodoforthisgamedesign.Thethirdparthadaverydetaildilluminationwithsystemdesignandotherrelateddesignsasanconclusion.Keywords:Sokobangame;androidSDK;smartphone;MVC目录TOC\o"1-3"\u第一章绪论 第一章绪论1.1手机应用市场描述最近几年,国内手机市场发展势头迅猛,以Nokia、摩托、三星、等较大的手机制造商为主,又相继出现了数不胜数的手机生产厂家,其规模也在不断扩大,彩屏手机、彩信手机、智能手机纷纷上市,高像素照相手机、游戏手机、音乐手机开始纷纷登台亮相,现在又即将开启3G手机的时代,使视频通话成为了现实。3G网络的大规模以迅雷不及掩耳之势席卷全球,企业、消费者对移动商务应用的需求随之攀升。现代商业向3G移动互联网平台迁移已成为大势所趋。作为微型PC和便携终端的手机具备特有的互联网特性。当用户不断地把目光从电脑屏幕转移到手机屏幕的时候,手机给未来的商业带来了无限的遐想。MobileMarket是由中国移动投资建设,通过与国内外数百名知名尖端手机软件CP合作,面向超过5亿的移动用户,致力于打造手机终端软件市场百亿级产业链,满足智能手机用户不断提高的安全、创新等需求,聚集并辅导手机终端软件开发商及个人独立开发者发掘终端软件市场需求,进行快速开发并完成安全签名认证,最终发布产品并实现盈利的手机应用软件下载平台。MobileMarket致力给应用开发者创建一个非常直接的路径,使开发者可以更容易地、更大范围内的和最终消费者发生联系,直接参与销售分成,把价值链的阻力降到最低。电信天翼是是中国电信为满足广大客户的融合信息服务需求而推出的移动业务品牌。“天翼”的推出,有效填充了中国电信全业务运营的内涵,进一步深化“综合信息服务提供商”的企业品牌定位,充分发挥中国电信的融合业务优势,更好满足广大客户特别是中高端企业、家庭及个人客户的综合信息服务需求。“天翼”强调―互联网时代的移动通信‖的核心定位,面对语音、数据等综合业务需求高的中高端企业、家庭及个人客户群,提供无所不在的移动互联网应用和便捷话音沟通服务。―天翼‖的数据业务优势会进一步强化中国电信在互联网领域的差异化优势,并不断通过丰富的游戏、娱乐、影音、社区群体等互联网应用,让客户体验“科技创新、自信、时尚活力”的品牌个性,成为“领先一步、掌握未来”的信息时代先锋。1.2智能手机应用平台手机开发平台正在越发地显示出它的重要性,如symbian、windowsmobile、android、Linux。下面进行一下比较:Symbian:Symbian操作系统的前身是EPOC,Symbian操作系统在智能移动终端上拥有强大的应用程序以及通信能力,这都要归功于它有一个非常健全的核心—强大的对象导向系统、企业用标准通信传输协议以及完美的sunjava语言。Symbian认为无线通讯装置除了要提供声音沟通的功能外,同时也应具有其它种沟通方式,如触笔、键盘等。在硬件设计上,它可以提供许多不同风格的外型,像使用真实或虚拟的键盘,在软件功能上可以容纳许多功能,包括和他人互相分享信息、浏览网页、传输、接收电子信件、传真以及个人生活行程管理等。此外,Symbian操作系统在扩展性方面为制造商预留了多种接口,而且EPOC操作系统还可以细分成三种类型:Pearl,Quartz,Crystal,分别对应普通手机、智能手机、HandHeldPC场合的应用。Windowsmobile:目前微软的WindowsMobile系统已广泛用于智能手机和掌上电脑,虽然手机市场份额尚不及Symbian(塞班),但正在加速赶上,目前生产WindowsMobile手机的最大厂商是:台湾HTC(大陆称多普达,贴牌厂家:02XDA,T-Mobile,Qtek,Orange等),其它还有东芝,惠普,Mio(神达),华硕,索爱,三星,LG,Motorola,联想,斯达康,夏新等。优点:1,界面类似于PC上的Windows,便于熟悉电脑的人操作。2,预装软件丰富,内置OfficeWord,Excel,PowerPoint,可浏览甚至编辑,内置InternetExplorer,MediaPlayer。3,电脑同步非常便捷,完全兼容Outlook,OfficeWord,Excel等。4,多媒体功能强大,借助第三方软件可播放几乎任何主流格式的音视频文件。5,操作方式灵活,可以进行很方便的触摸式操作,也可以使用手写笔或者其他有尖端的工具进行像素级别的操作,有些型号有数字键盘或者全键盘,能比较快速的输入文字。6,极为丰富的第三方软件,特别是词典,卫星导航软件均可运行。7,文件兼容性佳,利用内置以及三方软件基本上能兼容电脑上使用的常用格式文档。8,价格区间大,从低端700-800元左右的手机到高端7000-8000元左右的手机均有装备此操作系统适合各个消费层次的消费者使用。9,与Linux兼容,可以通过三方软件安装linux操作系统例如android。缺点:1,对不熟悉电脑的人来说操作较为复杂。2,相机目前最大为810万像素(索爱X2等,2009年)。3,软件配置不合理会有死机现象。Linux:Linux与其它操作系统相比是个后来者,但Linux具有二个其它操作系统无法比拟的优势。其一,Linux具有开放的源代码,能够大大降低成本。其二,既满足了手机制造商根据实际情况有针对性地开发自己的Linux手机操作系统的要求,又吸引了众多软件开发商对内容应用软件的开发,丰富了第三方应用。然而Linux操作系统有其先天的不足:入门难度高、熟悉其开发环境的工程师少、集成开发环境较差由于微软PC操作系统源代码的不公开,基于Linux的产品与PC的连接性较差尽管目前从事Linux操作系统开发的公司数量较多,但真正具有很强开发实力的公司却很少,而且这些公司之间是相互独立的开发,很难实现更大的技术突破。尽管Linux在技术和市场方面有独到的优势,但是目前来说还无法与Symbian抗衡,想在竞争日益激烈的手机市场中站稳脚跟、抢夺市场份额也决非易事。PalmOS:这是一种32位的嵌入式操作系统,主要运用于移动终端上。此系统最初由3Com公司的PalmComputing部开发,目前PalmComputing已经独立成一家公司。PalmOS与同步软件HotSync结合可以使移动终端与电脑上的信息实现同步,把台式机的功能扩展到了移动设备上。PalmOS操作系统由Palm公司自行开发的,并授权给Handspring、索尼和高通等设备厂家,这种操作系统更倾向于PDA的操作系统。PalmOS在PDA市场占有主导地位。Palm的产品线本身就包括智能手机,又宣布与最早的智能手机开发者Handspring购并,同时将软件部门独立。iPhoneOS:iPhoneOS或OSXiPhone是由苹果公司为iPhone开发的操作系统。它主要是给iPhone和iPodtouch使用。就像其基于的MacOSX操作系统一样,它也是以Darwin为基础的。iPhoneOS的系统架构分为四个层次:核心操作系统层(theCoreOSlayer),核心服务层(theCoreServiceslayer),媒体层(theMedialayer),可轻触层(theCocoaTouchlayer)。系统操作占用大概512MB的存储空间。支持的软件iPhone和iPodTouch使用基于ARM架构的中央处理器,而不是苹果的麦金塔计算机使用的x86处理器(就像以前的PowerPC或MC680x0),它使用由PowerVR视屏卡渲染的OpenGLES1.1.。因此,MacOSX上的应用程序不能直接复制到iPhoneOS上运行。他们需要针对iPhoneOS的ARM重新编写。但就像下面所提到的,Safari浏览器支持"Web应用程序"。从iPhoneOS2.0开始,通过审核的第三方应用程序已经能够通过苹果的AppStore进行发布和下载了。iPhoneOS自带的应用程序在2.2版本的固件中,iPhone的主界面包括包括以下自带的应用程序:SMS(简讯)、日历、照片、相机、YouTube、股市、地图(AGPS辅助的Google地图)、天气、时间、计算机、备忘录、系统设定、iTunes(将会被链接到iTunesMusicStore和iTunes广播目录)、AppStore以及联络资讯。还有四个位于最下方的常用应用程式包括有:电话、Mail、Safari和iPod。除了电话、简讯、和相机,iPodTouch保留了大部分iPhone自带的应用程序。iPhone上的"iPod"程序在iPodTouch上被分成了两个:音乐和视讯。位于主界面最下方dock上的应用程序也根据iPodTouch的主要功能而改成了:音乐、视讯、照片和iTunes。Web应用程序在2007年苹果全球开发者大会上,苹果宣布iPhone和iPodTouch将会通过Safari互联网浏览器支持某些第三方应用程序,这些应用程序被称为Web应用程序。它们能通过AJAX互联网技术编写出来。1.3Android平台介绍Android是基于Linux内核的软件平台的操作系统,早期由Google开发,后由开放手机联盟OpenHandsetAlliance开发。它包括操作系统、用户界面和应用程序——移动电话工作所需的全部软件,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件。它采用了软件堆层(softwarestack,又名软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机VirtualMachine,由C+开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以java编写。目前的五大商业应用是RSS阅读器、基于GoogleMap的个人GPS、豆瓣网客户端、在线音乐播放器、收集信息查看助手。Android提供多种连接选项,包括WiFi、蓝牙和通过蜂窝连接的无线数据传输。Android应用程序中一项流行的技术是链接到Google地图,以便在应用程序中显示地址。Android软件栈还提供了基于位置的服务和加速计的支持,不过并不是所有的Android设备都配备了必须的硬件,另外还有摄像支持。Android运行库:Android包括了一个核心库,该核心库提供了JAVA编程语言核心库的大多数功能。每一个Android应用程序都在它自己的进程中运行,都拥有一个独立的Dalvik虚拟机实例。Dalvik是针对于同时高效地运行多个VMs来实现的。Dalvik虚拟机执行.dex的Dalvik可执行文件,该格式文件针对最小内存使用做了优化。该虚拟机是基于寄存器的,所有的类都经由JAVA汇编器编译,然后通过SDK中的dx工具转化成.dex格式由虚拟机执行。Android程序库Android包括一个被Android系统中各种不同组件所使用的C/C++库集。该库通过Android应用程序框架为开发者提供服务。以下是一些主要的核心库:系统C库-一个从BSD继承来的标准C系统函数库(libc),专门为基于embeddedlinux的设备定制。媒体库-基于PacketVideoOpenCORE;该库支持录放,并且可以录制许多流行的音频视频格式,还有静态印像文件包括MPEG4,H.264,MP3,AAC,AMR,JPG,PNG。SurfaceManager-对显示子系统的管理,并且为多个应用程序提供2D和3D图层的无缝融合。LibWebCore-一个最新的web浏览器引擎用来支持Android浏览器和一个可嵌入的web视图。SGL-一个内置的2D图形引擎3Dlibraries-基于OpenGLES1.0APIs实现;该库可以使用硬件3D加速(如果可用)或者使用高度优化的3D软加速。FreeType-位图(bitmap)和向量(vector)字体显示。SQLite-一个对于所有应用程序可用,功能强劲的轻型关系型数据库引擎。Android严格来讲不能算是Linux操作系统的一种,它是在Linux2.6的内核基础之上运行的。Android系统的层次简单的来说可以这样描述,底层是Linux,中间是叫做Dalvik的java虚拟机,上面是Android运行时库。Android系统的应用软件都是运行在dalvik之上的java软件,而dalvik是运行在Linux中的。所以只能说Android是运行在Linux之上的操作系统,它本身不能算是Linux的某个版本。2008年9月22日,美国运营商T-MobileUSA在纽约正式发布第一款Google手机——T-MobileG1。该款手机为台湾宏达电代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率7.2Mbps,并支持Wi-Fi。谷歌致力于打造最完美的手机操作系统,最初的几个版本并没有面向消费者,而是供程序开发员使用的。Android0.9和Android1.0都是如此,这些版本都有一些问题而影响用户体验。最早的商用的操作系统是Android1.1,最早由T-Mobile定制的HTCG1使用的就是这个版本,HTCG1的发售标志着Android系统的正式开始面向市场,接受消费者的检验。随着时间的推移,褪去华美的外衣,HTCG1的缺点或者说Android1.1版本的缺点也逐渐开始暴漏出来。虽然采用了电容屏+物理全键盘设计,却并不支持虚拟键盘输入。没有桌面同步软件,无法使用立体声蓝牙,仅支持Youtube视频播放更是让很多用户抱怨不已,前途似乎蒙上了一层浓雾。Google立刻开始着手解决问题,才有了随后的Android1.5版本。在今天购买HTCG1的用户,你们已经可以用上了稳定,高效的1.5版本,上面的问题已经得到了解决。至今G1仍是经典机型,Gphone的开国功臣功不可没。Android1.5(Cupcake)–一个真正意义的手机操作系统。面对着HTCG1的种种不足,Google迅速组织人手继续研发,Android1.5(Cupcake)让Gphone正式成为一个稳定,高效的操作系统。如果说之前的Android1.1是一只有组织有纪律却缺少一些关键功能的―机器人‖,那么这个Cupcake的到来让Gphone成为一个现代化―机器人‖的愿望得到了初步实现,使得Gphone渐渐得到了消费者的肯定。Android1.5改动是显著的。支持全新的虚拟键盘,桌面可以加载个性化的widgets让用户的输入和体验更加的顺畅。改进后更快的浏览器chromelite和新加入的Google语音搜索功能、自检SD卡程序让Android可以和iPhone相媲美。支持A2DP蓝牙立体声和视频的录制和上传也让用户赞不绝口。在这个阶段,AndroidMarket也大放异彩,完全开源的系统让各种非常有趣的应用程序变的家喻户晓。未来的明星-Android1.6Android2.0(Dount)。Android1.6Android2.0(Dount)——明年我一起进入2.0时代。Android1.6(Dount)的改动并不多。最主要的是全新设计的AndroidMarket,更新后的Market可以更加人性化的按照用户的需求进行排版,搜索。而且1.6可以支持更多的分辨率,为以后的兼容性做好了铺垫。目前,包括HTCHero、HTCTattoo都可以升级到Android1.6版本。从目前的消息来看,Android2.0增加了对CDMA网络的支持,对网络的支持将会更加丰富。同时强化了搜索功能,用户可以方便的搜索本地和网络资源。新版添加了手势识别功能,这将是一个伟大的改进,相信以后的market将会用更多的应用。Gphone帝国已经初见端倪。Android2.0的意义是重大的,它不仅见证了Android从无到有,从弱到强的一个过程,同时也标志着Android正式成为一个成熟的系统平台,凭借着漂亮的界面、革新的操作理念和越来越壮大的应用程序商店AndroidMarket,由Google主导的“机器人”已经正式像iPhone发起挑战。Android在中国的前景十分广阔,首先是有成熟的消费者,在国内,Android社区十分红火,这些社区为Android在中国的普及做了很好的推广作用。国内厂商和运营商也纷纷加入了Android阵营,包括中国移动,中国联通,华为通讯,联想等大企业,同时不仅仅局限于手机,国内厂家也陆续推出了采用Android系统的MID产品,比较著名的包括由Rockchip和蓝魔推出的同时具备高清播放和智能系统的音悦汇W7,我们可以遇见android也将会被广泛应用在国产智能上网设备上,将进一步扩大Android系统的应用范围。1.4Android开源性能展望Android系统的开源性能为用户提供了很多便利,系统的拓展性能好,只要有能力可以自己开发各种有用的软件,还能提供一种市场盈利的有效途径,最震撼人心之处在于Android手机系统的开放性和服务免费。Android是一个对第三方软件完全开放的平台,开发者在为其开发程序时拥有更大的自由度,突破了iPhone等只能添加为数不多的固定软件的枷锁同时与WindowsMobile、Symbian等厂商不同,Android操作系统免费向开发人员提供,这样可节省近三成成本。下面介绍几种Android的开源软件:Android组件页面设计工具DroidDraw:DroidDraw是一个基于JavaSwing的Android界面设计器,我们可以通过它来生成复杂的AndroidLayoutXML文件,据作者介绍,Android的Layout和SwingLayout中有很好的对应,设计器的代码编写起来还是比较容易的。AndroidPDF阅读器:AndroidPDFViewer是Android平台下的PDF阅读器。AndroidSDK:与iPhone相似,Android采用WebKit浏览器引擎,具备触摸屏、高级图形显示和上网功能,用户能够在手机上查看电子邮件、搜索网址和观看视频节目等,比iPhone等其他手机更强调搜索功能,界面更强大,可以说是一种融入全部Web应用的单一平台。Android网络共享软件AndroidWifiTether:AndroidWifiTether是Android用来实现网络共享的软件。Android中文输入法TouchPal:TouchPal在AndroidMarket免费下载,提供简体中文笔画和拼音两种输入。这个输入法的cooltekt+模式=黑莓8100系列的suretype键盘,一个按钮对应2个字母,每个按钮拥有更大的键区——这样即使是单手输入也不容易按错。相信越来越多android平台上的开源软件就要和我们见面了,乐观的前景让我们充满期待。1.5安卓开发环境的搭建1.5.1安装JDK运行安装程序【jdk-6u22-windows-i586-p.exe】,分别点击下一步进行安装。在安装过程中先后会出现两次选择安装目录的界面,全部改为以下路径:jdk安装目录:C:\Java\jdk1.6.0_22jre安装目录:C:\Java\jre6\安装好之后,配置环境变量:打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。在上方的用户变量中依次新建如下变量,并分别填入如下路径:变量名:JAVA_HOME变量值:C:\Java\jdk1.6.0_22变量名:PATH变量值:%JAVA_HOME%/bin变量名:CLASSPATH变量值:.;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar图1-1环境变量配置图配置完成之后,分别点击【开始】--【运行】--输入【cmd】--输入【javac】--按【回车键】,若看到以下信息,则代表配置成功。图1-2环境变量配置成功1.5.2安装AndroidSDK将【android-sdk_r17-windows.zip】解压到E:\Android目录下(Android目录自己新建,以后所有关于Android开发相关软件都会统一放到该目录中),得到一个android-sdk-windows文件夹,该文件夹包含如下文件结构:add-ons:该目录下存放额外的附件软件。刚解压后,该目录为空。platforms:该目录下存放不同版本的Android版本。刚解压后,该目录为空。tools:该目录下存放了大量Android开发、调试的工具。SDKManager.exe:该程序就是AndroidSDK和AVD(Android虚拟设备)管理器。通过该工具可以管理AndroidSDK和AVD。运行E:\Android\android-sdk-windows目录下的【SDKManager.exe】然后等待更新...(该步骤必须联网,因为SDK安装包需要在线获取)。在更新的过程中若遇到如下的提示窗口:图1-3SDK在线安装则代表更新失败,解决的方法为:到C:\WINDOWS\system32\drivers\etc目录下,用记事本打开【hosts】文件,在最后一行添加上【】,保存【hosts】文件并关闭。图1-4更新失败解决方法然后关闭AndroicSDKManager软件,再打开一次,即可更新成功。结果如下所示:图1-5更新成功更新完成之后,会列出最新的安装包,其中【Tools】是Android平台工具,为必选项,将其勾起。图1-6工具选择选择好要下载的安装包之后,点击右下角的【Install9packages…】按钮,会弹出如下图所示的窗口,在窗口的左边列出将要安装的工具包。图1-7安装工具包这时选择右下角的【AcceptAll】安装全部选项,点击【Install】开始在线安装AndroidSDK及相关工具。图1-8在线安装在安装的过程中会弹出消息窗口,是显示安装信息的。当安装完成之后,在选择的安装包后面若看到有【Notinstalled】的文字,则表示该安装包安装不成功。这时就重新勾选上这些安装包,再次按照上方两张图片提示的操作安装一遍,直到选择的安装包后面都是显示【Installed】已安装的信息为止。安装好之后,就可以进行android的环境变量配置了:打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。在上方的用户变量中找到之前创建的【PATH】变量,双击它,然后在【变量值】的最后面添加上内容【;E:\Android\android-sdk-windows\tools;E:\Android\android-sdk-windows\platform-tools】,其中的分号不能少,分号在这里是起到分隔的作用。配置完成之后,分别点击【开始】--【运行】--输入【cmd】--输入【android-h】--按【回车键】,若看到以下信息,则代表配置成功。图1-9检验配置是否成功1.5.3安装Tomcat将【apache-tomcat-7.0.26-windows-x86.zip】压缩包解压到【E:\Android】目录下。安装好之后,就可以进行Tomcat的环境变量配置了:打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。JAVA_HOME:路径指向JDK安装路径,之前安装JDK时已经配置,所以这里不需要再配置该变量。在上方的用户变量中找到之前创建的【CLASSPATH】变量,双击它,然后在【变量值】的最后面添加上内容【;E:\Android\apache-tomcat-7.0.26\lib\jsp-api.jar;E:\Android\apache-tomcat-7.0.26\lib\servlet-api.jar】,其中的分号不能少,分号在这里是起到分隔的作用。启动Tomcat的方法:双击【E:\Android\apache-tomcat-7.0.26\bin】目录下的【startup.bat】。验证是否安装成功:打开浏览器,输入网址:http://localhost:8080若出现如下图片,则代表安装成功。图1-10Apache安装成功1.5.4安装Ant将【apache-ant-1.8.3-bin.zip】压缩包解压到【E:\Android】目录下。安装好之后,就可以进行Ant的环境变量配置了:打开环境变量窗口方法:右键【我的电脑】--单击【属性】--单击【高级】--单击【环境变量】。变量名:ANT_HOME变量值:E:\Android\apache-ant-1.8.3在上方的用户变量中找到之前创建的【CLASSPATH】变量,双击它,然后在【变量值】的最后面添加上内容【;%ANT_HOME%/bin】,其中的分号不能少,分号在这里是起到分隔的作用。1.5.5安装Eclipse将【eclipse.part1.rar】和【eclipse.part2.rar】压缩包一起解压到【E:\Android】目录下,会得到目录【eclipse】。运行Eclipse的方法:双击【E:\Android\eclipse】目录下的【eclipse.exe】即可。1.5.6安装Eclipse的ADT插件启动Eclipse,单击Eclipse主菜单上的HelpInstallNewSoftware…菜单项,弹出如下图所示的窗体。图1-11ADT插件安装单击右上角的【Add…】按钮,会弹出一个窗口,然后再单击【Archive...】按钮,选择ADT插件包【ADT-17.0.0.zip】,然后单击【OK】。会返回之前的窗体,并且列出了将要安装的插件列表,勾选这些列表,如下图所示:图1-12勾选插件勾选之后,单击下方的【Next】按钮,后到下一步,再一次单击【Next】按钮,然后选择【Iacceptthetermsofthelicenseagreements】同意,如下图所示:图1-13同意协议然后,单击【Finish】按钮,开始安装ADT插件,如下图所示:图1-14InstallingSoftware在安装的过程中,若弹出如下的警告窗口:图1-15安装警告内容为:安装的软件未知,是否继续进行安装。这时点【OK】就可以了。然后会弹出如下图所示的窗口:图1-16继续安装点击【NotNow】重新打开软件,然后进行AndroidSDK路径的设置:单击Eclipse主菜单上的WindowsPreferences菜单项,点击左侧列表中的【Android】项,然后在【SDKLocation:】后面的文本框中填入AndroidSDK的安装目录,如下图所示:图1-17虚拟机创建成功点击【OK】,设置SDK的路径完成。到此,搭建安卓开发环境的全过程都已大功告成!

第二章Android推箱子系统的相关研究2.1推箱子游戏的发展现状现在的移动电话是小型的计算机,它的处理能力与台式机的标准处理能力相比很有限,但是足够运行一个小型的游戏。现在的手机的一个特性就是它们还是网络计算机,能够高速发送和接收数字数据。除了语音数据以外,它们还可以发送和接收其它类型的数据。所以这样的网络游戏也可以在手机上实现。手机在网络游戏行业在多年的技术经验与运营经验的积累与总结之后,到了2009年迫不及待的需要创新出新的游戏模式和崭新的运营模式来推动手机游戏市场的爆发和发展。其中比较吸引人们的是手机的休闲类的游戏。应该可以说它是与PC网络游戏完全的脱离开了,而且充分发挥了自身的优势手机终端。休闲类的游戏恰巧与之相反,只需要很少的网络流量的网络环境,通过少量多次的游戏形式带给玩家流畅的游戏体验满足玩家瞬间提升的快感,但是同时却很难具有长期的“沉迷”性。随着计算机游戏的发展,很多编程爱好者基于该游戏的思想开发了出各种版本、各种类型的推箱子。这其中也包括很多手机版本的实现,伴随着手机与计算机的普及,很快推箱子游戏便进入了千家万户。目前网上有推箱子游戏的各种演变版本。不论是用户UI还是设计思路都有很大的提高。但是,基于android的推箱子游戏版本并不是很多。分析原因,可能是此款游戏太过古老,走过了流行期。用户对于这款游戏太过熟悉,没有新鲜感。本课题来源于一款来自日本的古老游戏——推箱子,其设计目的是训练人的逻辑思维能力,其画面大多比较简洁,也没有很复杂的游戏特效,玩法比较简单,百玩不厌,既能锻炼思维的严密性,又有很多乐趣。游戏场景一般是设定在空间狭小的仓库中,要求把箱子摆放到指定位置。这就要求玩家巧妙的运用有限的空间和通道,合理的安排箱子的位置和移动次序才可能完成任务。力求改变推箱子游戏原始触屏的操作方式,与现代发展的android技术相结合,给游戏玩家带来全新的用户体验。2.2游戏研究内容分析研究并开发一个基于Android的推箱子游戏,所做的主要工作在于:1、基于AndroidSDK2.2的开发技术AndroidSDK包含了开发所应用的类库,用户要基于Android平台开发应用就应熟悉SDK的对外接口,其中开发Android游戏应用通常会用到如下一些类,Surfaceview类作为MVC中视图类的基类的开发框架是一般游戏开发比较常用的一种开发框架,使用此类时还需要对其进行创建、销毁,情况改变时的监听,这就还需要实现SurfaceHolder.Callback接口。其中Android游戏开发还需要通过Graphics类来显示2D图形,Graphics中包括了Canvas(画布)、Paint(画笔)、Color(颜色)、Bitmap(图像)、2D几何图形等常用类,并且还涉及一些OpenGL图形程序接口方面的技术。2、2.5d的呈现技术所谓的2.5D,介乎于模真的3D与完全平面的2D之间。即模拟了3D的空间感,也兼具2D的灵动简单,是一种“优势”的综合体。就我个人认为,诚然2.5D最早的出现动机只是为了2D到3D间过渡。但就其应用而讲,好的2.5D图形即有3D的自由度与质感,又能利用2D图形将漫画式人物塑造得惟妙惟肖,使其拥有纯3D还无法做到的优势。因此2.5D在现在乃至未来的一段较长时间里还会和3D并存,直到3D图形的开发效率及表现形式能彻底取代2.5D为止。3、数据存储采用文件存储及轻量级数据库SQLite的存储技术Android的数据存储有4种方式,分别是SharedPreferences存储技术以“key-valuepaires”格式的数据存储机制,Files存储技术通过FileInputStrean和FileOutputStream操作,Network技术通过网络来存储和获取数据。还有一种就是轻量级数据库SQLite,它是Android的标准数据库,支持SQL语句。SQLite数据库功能非常强大,使用起来也非常方便。4、系统的构建本系统采用MVC开发模式,使用SQLite数据库存储技术,基于AndroidSDK2.2开发平台,使用Eclipse+AndroidSDK2.2+DDMS+DroidDraw作为系统开发、调试的主要工具。2.3MVC开发模式Android遵循MVC开发模式,所谓MVC也就是Model-View-Controller的首字母缩写,MVC开发模式把应用程序开发分成三个部分,Model即模型用于管理数据,View即视图用来制作用户界面,而Controller即控制器管理应用程序的逻辑。以下主要讲了Android中MVC的框架原理。从用户的角度出发,用户可以根据自己的需求,选择自己合适的浏览数据的方式。比如说,对于一篇在线文档,用户可以选择以HTML网页的方式阅读,也可以选择以pdf的方式阅读。从开发者的角度,MVC把应用程序的逻辑层与界面是完全分开的,最大的好处是:界面设计人员可以直接参与到界面开发,程序员就可以把精力放在逻辑层上。而不是像以前那样,设计人员把所有的材料交给开发人员,由开发人员来实现界面。在VS2008开发工具中设计人员就可以直接通过Silverlight来开发界面,在Eclipes工具中开发Android采用了更加简单的方法,设计人员在DroidDraw中设计界面,以XML方式保存,在Eclipes中直接打开就可以看到设计人员设计的界面。Android中界面部分也采用了当前比较流行的MVC框架,在Android中M就是应用程序中二进制的数据,V就是用户的界面。Android的界面直接采用XML文件保存的,界面开发变的很方便。在Android中C也是很简单的,一个Activity可以有多个界面,只需要将视图的ID传递到setContentView(),就指定了以哪个视图模型显示数据。在AndroidSDK中的数据绑定,也都是采用了与MVC框架类似的方法来显示数据。在控制层上将数据按照视图模型的要求(也就是AndroidSDK中的Adapter)封装就可以直接在视图模型上显示了,从而实现了数据绑定。比如显示Cursor中所有数据的ListActivity,其视图层就是一个ListView,将数据封装为ListAdapter,并传递给ListView,数据就在ListView中现实。Model:ContentProviderModel:ContentProvider Controller:ActivityController:ActivityView:XMLView:XML 图2-1Android中的MVC框架结构图2.4推箱子游戏策划游戏的策划主要包括游戏的情节、目标受众、运行的目标平台、采用的呈现技术、操作方式等几个方面。下面就针对本游戏对上述几个方面进行简单的介绍,如下所列。游戏情节,本游戏为轻量级的益智游戏,因此不存在很复杂的情节。这方面主要要做的工作为设计游戏各关仓库的形状、大小、可通过区域,以及各关中箱子的初始位置与目的地。目标受众,这个游戏受众面比较广,应该是老少皆宜的。考虑到受众面广的原因,应该将操作方式设计得更加人性化,画面更加清新。运行的目标平台,本游戏的目标平台为Android2.2及其以上版本。采用的呈现技术,推箱子游戏一般采用的都是2D的呈现技术,本案例为了增强游戏的吸引力,拟采用2.5D呈现技术。2.5D呈现技术也有多种视角可供选择,本游戏采用45度视角。操作方式,本游戏拟采用手机触屏进行操作。由于该游戏使用Eclipse作为主要的开发工具,所以在开发之前需要检查Eclipse是否已经配置好。2.5游戏的准备表2-1游戏图片列表图片名大小(KB)像素(wxh)用途图片名大小(KB)像素(wxh)用途a1~a9.png65.750×37角色向下走图片background.jpg65.7640×400游戏背景图片b1~b9.png66.550×37角色向左走图片e1~e14.png65.750×37角色向下推箱子icon.png77.472×72游戏图标f1~f4.png66.550×37角色向左推箱子box.png79.150×63正常的箱子g1~g14.png65.950×37角色向上推箱子c1~c9.png65.950×37角色向上走图片h1~h14.png66.550×37角色向右推箱子d1~d9.png66.550×37角色向右走图片greenbox.png79.250×63绿色的箱子exit1.png171200×80菜单的退出按钮image3.png623160×450右侧的木门exit2.png57.185×45游戏界面的退出image33.png651160×450左侧的木门goon.png160300×250恭喜过关图片menubackground2.png462278×420菜单界面的按钮背景help1.png171200×80游戏说明菜单menubackground.jpg65.7640×400菜单界面的背景image2.png41.0300×475菜单的铁门图片mountain2.png2.11640×905欢迎界面背景sound1.png169200×80声音开按钮sound2.png168200×80声音关按钮start1.png196200×80菜单开始游戏wall.png75.650×63游戏中的墙wallleft.png719160×450左半部分墙wallright.png715160×450右半部分墙表2-2游戏声音文件列表声音文件名大小格式用途声音文件名大小格式用途sound12.48MBMP3游戏背景音乐sound26.87KBMP3推箱子的声音sound31.49MBMP3欢迎界面背景界面winsound7.58KBMP3游戏胜利的声音2.6开发环境说明开发所用操作系统:WindowsXPIDE:Eclipse开发语言:Java开发所用插件:ADT12.0.0SDK:AndroidSDK2.2,JDK1.5及以上第三章系统需求分析3.1系统基本功能描述在游戏开发之前,首先需要对游戏所应该具有的功能进行分析,功能分析是游戏开发的前提,有了需求才可能游戏的开发,并且需求分析必须非常详细,以免造成不必要的损失。具体的功能如下:1)欢迎动画界面,游戏运行后首先进入的界面。2)菜单的选择,还需要设计出菜单界面,。3)游戏的音效,游戏的过程中需要在适当的位置添加上音效,并且可以对音效进行开与关闭的设置。4)游戏说明,还需要为本游戏添加说明界面,简单介绍游戏的玩法。5)游戏的胜利,游戏需要设计适当的难度,使玩家能够经过努力完成游戏。3.2可行性分析本系统的可行性分析包括以下几个方面的内容:1)技术可行性SQLite数据库与AndroidSDK2.2技术的有机结合,可以很轻松地开发出推箱子游戏。因此技术上是可以实现的。2)经济可行性随着计算机游戏的发展,很多编程爱好者基于该游戏的思想开发了出各种版本、各种类型的推箱子。这其中也包括很多手机版本的实现,伴随着手机与计算机的普及,很快推箱子游戏便进入了千家万户。因此,从经济上来说,开发推箱子游戏不需要很大的投入,硬件上只需普通的PC电脑一台,附加配置好模拟器的运行环境即可,有条件的话可以再配备Android2.2系统的真机一台,用于真机测试。3)操作可行性由于Android可以和Eclipse配置开发环境,且实际开发环境为开源的,所以在操作上是可行的。综上所述,基于Android的大象推箱子游戏可行的。3.3系统需求分析本游戏主要是设定在空间狭小的仓库中,要求大象把箱子摆放到指定位置。当大象将箱子推到指定位置时箱子变色,当大象碰到障碍物墙壁时大象将无法移动,当所有的箱子都被推到指定的位置时,游戏成功,因此这就要求玩家巧妙的运用有限的空间和通道,合理的安排箱子的位置和移动次序才可能完成任务。3.3.1推箱子游戏的主用例分析推箱子游戏主用例主要分为一些菜单选项的设置和玩游戏的整个过程。如图3-1所示:图3-1系统主用例图1、如上图3-1:用例1菜单管理用例描述:菜单管理执行者:玩家前置条件:android手机用户、安装有推箱子应用程序后置条件:可以进行相关游戏选项的设置基本路径: 1)运行应用程序2)进入菜单界面3)进行相关游戏选项的设置或选择开始游戏2、如上图3-1:用例2玩游戏用例描述:玩游戏执行者:玩家前置条件:开始游戏后置条件:退出游戏或游戏成功基本路径1)运行应用程序2)进入菜单并选择游戏开始3)通过手机硬触屏控制大象移动从而将箱子移动到指定位置3.3.2推箱子游戏的游戏过程子系统用例分析推箱子游戏的游戏过程子系统用例主要分为开始游戏和退出游戏。如图3-2所示:图3-2游戏过程子系统用例图1、如上图3-2:用例2.1开始游戏用例描述:开始游戏执行者:玩家前置条件:进入开始游戏界面后置条件:可以选择退出游戏或者保存玩家记录后继续游戏基本路径: 1)运行应用程序2)进入游戏主界面3)将箱子推到指定的位置后保存玩家记录继续玩下一关或者直接退出游戏2、如上图3-2:用例2.2退出游戏用例描述:退出游戏执行者:玩家前置条件:进入开始游戏界面后置条件:无基本路径: 1)运行应用程序2)进入游戏主界面3)点击手机硬触屏上的menu按键,调出menu菜单4)选择退出游戏的menu选项,游戏结束3.3.3推箱子游戏的菜单管理子系统用例分析玩家通过菜单管理子系统主要可以进行开始游戏,可以查看游戏的帮助文档,开关游戏背景音乐,退出游戏。如图3-3所示:图3-3菜单管理子系统用例图第四章系统设计4.1系统模块设计模块设计的主要方法是结构化方法,主导思想是以系统的逻辑功能设计和数据流关系为基础,采用“自顶向下,逐步求精”的设计方法,将本系统分解为功能明确,易于修改,大小适中的模块结构。游戏过程控制模块主要是控制游戏过程界面的绘制、触屏事件的监听、对监听事件的响应处理等,是整个游戏的核心功能模块。其中游戏过程模块又可以分为如下五个子模块如图4-1所示。图4-1游戏过程模块子模块图对游戏过程模块的子模块描述如下:1)初始化模块。该模块包括屏幕初始化和游戏第一关的初始化。屏幕初始化用于绘制整个初始画面,游戏每一关的初始化是构建每一关的关卡。2)画图模块。该模块主要是被其它模块调用,用于画墙、画箱子、在目的地画箱子、画大象和画目的地的模块。3)移动箱子模块该模块用于移动箱子,包括目的地之间、空地之间和目的地与空地之间的箱子移动。4)移动角色模块该模块用于控制大象移动,从而推动箱子到目的地的模块。5)触屏事件监听模块该模块主要通过对触屏事件,触摸事件的响应处理模块。4.2系统算法设计本系统核心部分是游戏的控制过程,游戏画面事件监听与游戏画面的绘制过程。其整个游戏过程控制算法设计如下图4-2,关键的算法和进程的描述如下:图4-2游戏过程控制算法设计(1)程序的全局变量包括地图和角色。程序把地图的设计封装成单独的类,可以方便的进行地图的扩展设计,为了方便2.5D的实现,将基础的地图分为两层绘制。角色的设计,包括角色的当前位置,当前的图像帧,当前的动作。箱子移动线程和角色移动线程对这些全局变量进行改变。刷帧线程对全局变量进行绘图。为了保证程序的正常的运行,我们需要对这些全局变量进行一定的同步锁控制,防止出现不一致的情况。(2)触屏和键盘监听线程:用户的请求与操作将通过该线程向游戏主界面发送操作请求。通过触和键盘发送的上下左右和退出操作。用户发送角色移动的请求时,会动态的启动角色移动线程。(3)角色移动线程:当接收到用户移动的请求时候,角色移动线程启动,该线程会根据用户请求的动作(上下左右移动)。判断移动的合法性,然后动态的去启动角色换帧线程和箱子移动线程。另外,为了界面的美观和人性化,当角色的左边位置偏离界面中心,会动态的移动程序的背景。(4)角色换帧线程:当角色移动的时候,会触发该线程,该线程会根据角色的当前状态来改变角色的图像帧,因为角色静止、角色移动和角色推箱子的动作是不一样的。线程启动的时候会根据角色的对象中的角色当前位置和当前动作来动态的改变角色的图像帧。(5)箱子移动线程:当角色移动的时候遇到障碍的箱子,该线程启动,那么根据用户推箱子的方向,动态的改变地图中箱子的坐标,来实现箱子的移动。(6)刷帧线程:该线程是游戏界面类的线程,在游戏运行过程中一直处于运行状态,通过全局的地图信息和角色信息定时的刷新游戏游戏的界面。界面的帧是通过多个层的合并,将地板、任务和箱子整合到同一个帧中。4.3游戏类的框架图(1)共有类□Activity的实现类SokobanActivity.该类是通过扩展基类Activity实现的,是整个游戏程序的入口。□触屏监听线程KeyThrad.该类为手机触屏的监听线程,每隔一段时间读取一次触屏的状态值,并根据当前触屏状态做出相应的操作。(2)欢迎界面相关类□欢迎界面类StartView.该类为游戏欢迎界面的实现类,主要负责欢迎界面的绘制工作。□欢迎界面的绘制线程类StartViewDrawThread.该类为继承Thread的线程类,负责的工作是定时重绘欢迎界面。□欢迎界面的动画实现类StartViewGoThread.该类主要用来生成欢迎界面中的动画,是通过改变StartView中所用到的图片坐标实现的。(3)菜单界面相关类□菜单界面类MenuView.该类为游戏菜单的界面的实现类,同样只负责绘制工作。□菜单界面的绘制线程类MenuDrawThread.该类为继承Thread的线程类,负责的工作是定时重绘菜单界面。□菜单界面的动画实现类MenuGothread.该类主要用来生成菜单界面中的背景的滚动效果。(4)游戏界面相关类□游戏主界面类GameView.该类为游戏游戏程序中最重要的类,负责绘制游戏过程中所有的信息,如地图、玩家角色、所推的箱子、恭喜过关图片等。□角色封装类Man.该类为玩家角色的封装类,包含了所有与角色相关的信息。□角色换帧线程类ManThread.该类负责根据角色的信息,试试改变角色的图片。□角色移动线程类ManMoveThread.该类主要负责角色对的移动,运用时只需给出起始点和目标点的坐标,同时该类还承担起屏幕的滚动工作。□箱子移动类BoxThread.该类只负责箱子的移动。□地图信息类MapList.该类包含着地图的相关信息,这里的一个地图是用三维数组中的二维矩阵表示的。□游戏主界面的绘制线程类GameViewDrawThread.该类为游戏主界面的刷帧线程,通过对调节线程中的睡眠时间便可调整游戏的FPS的高低,改善用户的体验。欢迎界面相关类欢迎界面相关类公共公共类StartViewStartViewGoThreadStartViewDrawThreadStartViewStartViewGoThreadStartViewDrawThreadPushBoxActivity菜单界面相关类PushBoxActivity菜单界面相关类MenuGoThreadMenuDrawThreadMenuMenuGoThreadMenuDrawThreadMenuViewKeyThread游戏界面相关类KeyThread游戏界面相关类GameViewGameViewBoxThreadMapListGameViewDrawThreadManThreadManBoxThreadMapListGameViewDrawThreadManThreadManManMoveThread图4-3游戏类的框架第五章系统实现概况5.1游戏地图模块存储结构的实现游戏地图模块实现是整个游戏过程的核心,由于游戏的整个过程呈现三维立体的效果,所以游戏地图设置也是至关重要的一块,游戏地图整体是用二维数组存储在文件中的,每次打开游戏会初始化一次地图文件,游戏地图分为两层地板:底层地板分为三类情况,二维数组值1代表灰色地砖,二维数组值0代表米色地砖,二维数组值3代表目的地。上层地板也分为三类情况,二维数组值1代表障碍物墙壁,二维数组值3代表箱子,二维数组值4代表大象。5.2游戏地图模块采用2D模拟3D实现2.5D(斜视角)视觉效果整个推箱子游戏采用斜45度视觉效果,在整体上给人以立体仿真的效果,具体实现过程如下:45度视觉效果通常需要采用斜视图的坐标变换,最直接的想法可能就是利用三角函数。从某种意义上说,俯视角度与正斜视角度的变化就是三角函数的应用,我也见过这类的45度斜视用例。但是,利用cos在Java中进行三角函数的运算,首先速度不能达到要求,其次图像衔接度结果并不理想,结果可能令图像有锯齿状偏移,所以我并没有使用。类的菱形斜视图像,我们可以利用一个简单的行列运算获得俯视角度地砖的绘制坐标与斜视角度地砖的绘制坐标的变换,公式如下:

X:2.5D图形中X轴位置=(目标图像Width/2)*(2D图形中X-2D图形中Y)

Y:2.5D图形中Y轴位置=(目标图像Height/2)*(2D图形中X+2D图形中Y)/25.3角色动画效果模块的实现本系统角色的运动分为两种类型的运动实现,一种类型是在未遇到障碍物与箱子的情况下,角色可以上下左右的走动,如图5-2为角色移动的图示效果,另一种类型是当角色在线路上遇到箱子时,角色可以推这箱子移动,因为技术水平有限,在此我使用与之前图片相同的组图。图5-3角色推箱向下运动的图片角色换帧图片以数组的形式实现,分为4个上下左右换帧数组和4个推箱子上下左右运动的数组5.4箱子移动控制模块的实现箱子移动模块主要是捕捉触屏事件后,根据触屏事件采取相应的响应事件,如果推动箱子向下移动会先判断箱子移动位置是否是空地,如果是空地再判断是否是目的地,直到把箱子推到指定的目地位置。如图5-4箱子移动过程控制流程图:YYN设置箱子为原色调YYN设置箱子为原色调开始移动开始移动移动方向位置上是否有箱子?(i+1)移动方向位置上是否有箱子?(i+1)箱子箱子移动方向位置上是否有空着?(i+2)箱子移动方向位置上是否为目的地箱子移动方向位置上是否为目的地?(i+3)YYY设置箱子为蓝色设置箱子为蓝色结结束NYY结束设置箱子为原色调设置箱子为蓝色箱子移动方向位置上是否为目的地?(i+3)NYY结束设置箱子为原色调设置箱子为蓝色箱子移动方向位置上是否为目的地?(i+3)5.5系统界面实现5.5.1安装apk文件点击PC开始菜单里面的“运行”输入cmd,开启cmd命令窗口;点击android安装目录tools下的emulator.exe文件;在dos窗口输入adbinstallnewTuixiangzi.apk回车,安装成功。界面如图5-1所示:图5-1应用安装成功5.5.2游戏模块界面点击应用程序进入游戏,菜单中的“开始游戏”选项可以进入游戏界面,其界面如图5-2,5-3,5-4所示:图5-2游戏进入界面图5-3菜单界面图5-4游戏过程界面5.5.3游戏过关界面游戏每完成一关,出现成功界面,提升用户体验,如图5-5所示:图5-5游戏成功界面5.5.4关卡设置模块界面点击菜单中的“开始游戏”选项可以进入关卡设置界面,其界面如图5-6所示:图5-6关卡设置界面5.5.5游戏说明查看模块界面点击菜单中的“游戏说明”选项可以进入查看游戏说明的界面,其界面如图5-7所示:图5-7游戏说明查看界面结束语 本文着重介绍了一个基于Android的推箱子游戏的设计与实现,并且最终成功在Android模拟器上模拟出了正确的成果。至此,本次我的毕业设计工作即将完成。在本次毕业设计之前我对Android的了解几乎为0,对eclipse的操作系统也很不熟悉,使得我在毕业设计在开始阶段十分的困难。在花了大量的时间查阅资源,并且在同学的帮助下顺利搭建好开发环境后,我又发现我对eclipse的开发言语极其陌生,对于毕业设计的工作一度感到力不从心,不过终于借助Android中文论文大量的既有资源和源代码的阅读,并且在导师的耐心指导和帮助下完成了此次的毕业设计。尽管本次毕业设计的推箱子游戏已经基本开发完成,但这是我第一次使用eclipse来设计基于Android的游戏,使得游戏中还存在许多的不足由于时间和本人能力的关系,只能在日后再进行完善了。在此做如下总结:1)不能进行关卡选择,如果完成一关,会根据玩家的选择情况,自动进入下一关

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论