Java,android,拼图游戏,实现与设计.doc_第1页
Java,android,拼图游戏,实现与设计.doc_第2页
Java,android,拼图游戏,实现与设计.doc_第3页
Java,android,拼图游戏,实现与设计.doc_第4页
Java,android,拼图游戏,实现与设计.doc_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

XXXXXXXXXXXXXX毕业论文基于Java与android的一个拼图游戏实现与设计作者姓名:专业名称:指导教师:基于Java与android的一个拼图游戏实现与设计摘要随着移动设备的日益普及,使用Android技术开发手机软件受到越来越多人的青睐。本科题目开发了一款Android平台下的手机游戏 拼图游戏本文首先对Android的研究背景,系统架构以及开发环境进行介绍,然后就玩家对游戏的需求进行一定的分析,最后运用Android技术实现拼图游戏的开发,并合理布局游戏界面,使游戏界面更加美观和人性化,实现的拼图游戏的基本功能,利用SQLite数据库保存游戏者完成游戏的信息,最终能让玩家享受拼图游戏的乐趣。关键词:Android Activity 拼图游戏 SQLite- -AbstractWith the rising popularity of mobile devices, the use of the Android mobile phone software technology development favored by more and more people.Undergraduate subject developed an Android platform of mobile phone games, puzzle games At first, this paper research background of Android system architecture, and introduces the development environment, then the player of the game analysis of the demand of jigsaw puzzle is realized by using Android technology development, and reasonable layout of the game interface, make the game more beautiful and humanized interface, realize the basic function of the jigsaw puzzle, using the SQLite database to store the player to complete the information of the game, eventually can puzzle game for players to enjoy the fun.Keywords:Android ,Activity ,puzzle, SQLite.-III-目录摘要IAbstractII目录III前言11基于Java与Android拼图游戏课程设计32搭建开发环境53拼图游戏的功能分析73.1拼图游戏主要界面73.2拼图游戏主要功能74拼图游戏的设计思路94.1 基本操作的流程图94.2 开始动画并跳转到菜单页面114.3点击帮助游戏跳转界面144.4点击游戏设置跳转到设置界面164.5点击积分排名跳转到积分排名界面204.6点击开始游戏见面进行游戏224.7点击退出游戏按钮265功能的实现275.1游戏菜单界面的功能实现275.2游戏菜单界面显示及关于和退出对话框的显示285.3游戏帮助界面显示295.4游戏设置界面显示305.5游戏开始界面选择图片显示315.6 game界面实现335.7 game界面切割的实现345.7 menu界面的实现356运行调试376.1白盒测试376.2黑盒测试37结论38致谢39参考文献40附件1 系统安装说明41A1.1 JDK的安装与配置41前言随着科技的迅猛发展,以智能手机为代表的Android设备如雨后春笋般迅速发展状大。Android系统自推出以来,就以明显的优势逐渐扩大自大的市场份额,尤其在国外,其呼声日高,可谓是如日中天,正处于蓬勃发展的开拓阶段。在国内Android系统的应用已不仅局限于手机产业,几年来其迅速扩张到相关领域,例如平板电脑、车载系统、电视STB、智能电器、智能会议系统等。目前,各IT厂商都在努力的研发前沿。Android是Google在2007年11月5日推出的开源手机操作系统。目前Android在中国 的发展是非常火的,为了节省研发费用, 国内很多的手机厂商和移动运营商纷纷加 入到了android阵营,其中包括中国移动,中国联通,中国电信,华为,联想等大企业。在中国不管是知名的手机生产厂商还是山寨手机厂商,都已经开始生产Android操作系统的手机。Android会同一系列核心应用程序包一起发布,该应用程序包包括客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序等。所有的应用程序都是使用JAVA语言编写的。开发人员也可以完全访问核心应用程序所使用的API框架。该应用程序的架构设计简化了组件的重用;任何一个应用程序都可以发布它的功能块并且任何其它的应用程序都可以使用其所发布的功能块(不过得遵循框架的安全性)。隐藏在每个应用后面的是一系列的服务和系统,其中包括;丰富而又可扩展的视图(Views),可以用来构建应用程序,它包括列表(Lists),网格(Grids),文本框(Text boxes),按钮(Buttons),甚至可嵌入的web浏览器。而如今Android应用更是受到大家的喜爱,不仅简单操作还类型颇多,而卧介绍的拼图游戏时曾经非常经典的游戏,也被用Android进行开发,主要是重动画,到主菜单,由主菜单再跳转到各个界面,实现每个界面所需要执行的功能,中间还运用了SQL数据库对数据进行保留,在积分界面时使用到数据库,还运用了各种Java语言模型。-43-1基于Java与Android拼图游戏课程设计随着社会经济的不断发展,移动设备的日益普及,人们对生活质量的需求有了进一步的 提高。这时基于Linux 的Android 手机操作系统,由于具有开源、免费的特性,迅速得到广大爱好者及厂商的支持。 Android 系统对第三方软件是开放的,这促进了第三方软件的发展。Android 系统以Linux 2.6 为核心,其安全机制比较完善,增强了手机使用的安全性。Android平台已经形成由 Google 牵头,OHA 组织参与,系统支持商和服务供应商完善搭配的运作机制,为Android 平台的快速发展提供了坚实的基础。同时,针对用户对游戏的需求进行了一定的调查分析,一款Android平台下的手机游戏益智拼图游戏也就应运而生。 本游戏合理布局游戏界面使游戏界面更加美观和人性化,除了界面它还可根据用户的需 求随时关闭和打开游戏音乐,最终可以让用户享受拼图游戏的乐趣。它是您平时居家旅行、消磨时间的好伙伴,同时其益智性也可让您在娱乐的同时练练脑力和眼力。该游戏有一定的 规律性,如果您掌握了那再高的级别也只是时间问题。 这款益智拼图游戏内置多张图片,每张图片都是经过精心挑选。它支持的分辨率分别是 480*800、320*480 以及480*854,如果屏幕分辨率是480*800 它的显示效果是最佳的;屏幕分辨率是320*480 它的显示效果一般;屏幕分辨率是480*854 它的显示效果较好。其他分辨率的手机未经测试,有可能会出现图片显示位置错误或者按钮错位等问题。拼图游戏屏幕分辨率具体如表1.1 所示。表1.1 拼图游戏支持屏幕分辨率屏幕分辨率 适应程度 480*800 最佳320*480 一般 480*854 较好 除了对屏幕分辨率的要求,本游戏要求Android 手机系统1.5 以上。拼图游戏支持Android 版本具体如表1.2 所示。网上商店作为一种常见的企业对消费者(Business to Customer, B2C)电子商务的具体形式,在Internet上已经非常普及。 表1.2 拼图游戏支持Android 版本 Android 手机系统适应程度Android1.5 支持 Android2.1 支持 Android2.3支持 Android3.0 支持 Android4.0支持 这款游戏非常人性化。首先,针对不同用户它设置三个难度级别,分别是简单(3*3)、 普通(4*4 )以及困难(5*5);其次,它可以记录用户完成游戏时间,以便用户查看在各个 难度中的成绩排名;在游戏过程中可以随时暂停游戏或退出游戏。2搭建开发环境SDK:(software development kit)软件开发工具包。被软件开发工程师用于为特定的软件包、软件框架、硬件平台、操作系统等建立应用软件的开发工具的集合。因此,Android SDK 指的是Android专属的软件开发工具包。下载好Android SDK后,开始安装,Android SDK采用了Java语言,所以需要先安装JDK 5.0及以上版本。直接下载JDK安装文件安装更为方便。2Android SDK不用安装,下载后,直接解压即可, 将下载后的SDK的压缩包解压到适当的位置,就这么简单;SDK安装OK。使用Eclipse进行android应用开发需要给Eclipse装ADT插件,这样Eclipse就可以和android ADT建立连接,可以在Eclipse中启动android模拟器进行程序调试等ADT插件安装这里不再累赘,插件的安装URL为:也可以下载adt的zip包安装 安装完插件后,需要做一些简单的配置:1.在Eclipse中,选择Window Preference;如图2.1操作2.从左侧的菜单中,选择Android项;如图2.2操作3.设置SDK Location,点Browse选择SDK的安装根目录;4.OK,完成。图2.1关联SDT的第一个步骤图2.2关联ADT的第二个步骤 3拼图游戏的功能分析3.1拼图游戏主要界面由于游戏拼图项目开发周期非常短,因此将尽量利用Android 现有界面控件进行大部分游戏界面的开发,尽量减少手动绘制界面的操作以实现快速开发的目的。详细需求中说到游戏拼图的设计包括10个功能界面,分别为游戏Logo、主菜单、游戏 帮助、游戏设置、游戏选关、游戏随机初始化、进行游戏、游戏胜利、信息输入、行榜功能;除了界面,它还有3个对话框,分别为游戏关于对话框、退出游戏对话框以及二级菜单 对话框。 通过详细需求首先我们可以把游戏 Logo、主菜单拿出来;然后为了让游戏功能清晰,我们把剩下的功能界面以及对话框分成6 大模块,分别为游戏过程、积分排名、游戏设置、 游戏帮助、游戏关于以及退出游戏,这6 大功能模块可以通过主菜单界面进行跳转。通过功 能模块的名字我们可以对功能界面以及对话框进行划分: 1.游戏过程模块:它是游戏开始到结束整个过程,所以它根据整个游戏过程又可以分为三个阶段,分别是游戏前(选关界面),游戏中(游戏随机初始化界面、游戏界面、二级菜单对话框、游戏胜利界面),游戏后(信息输入界面); 2.游戏帮助模块:游戏帮助界面; 3.积分排名模块:排行榜功能界面; 4.游戏设置模块:游戏设置界面;5.游戏关于模块:游戏关于对话框; 6.退出游戏模块:退出游戏对话框。 3.2拼图游戏主要功能根据功能进行分块后为减小项目内部的复杂关联,游戏拼图项目采用多Activity 模式进行开发设计。它们分别是游戏Logo 界面(LogoActivity)、主菜单界(MenuActivity)、游戏 帮助(HelpActivity)、游戏设置(OptionActivity)、选关界面(SelectGame)、游戏过程界面 (GameActivity)、信息输入界面(InputName)以及排行榜功能界面(RankActivity)共8 个主要功能界面。1.游戏 Logo:点击游戏图标进入 Logo 界面,这个界面负责游戏 Logo 的显示。2.游戏主菜单:Logo 界面展示完毕自动进入游戏主菜单界面,这个界面负责各个功能模块的跳转。3.游戏过程:点击开始游戏进入选关界面,这个界面负责选择图片以及难度等级;游戏随机打乱开始进行游戏,在游戏过程中可以随时退出游戏;在游戏的过程中,界面出现计时器记录你游戏所用的时间;游戏完成,如果用户打破记录则跳转至信息输入界面,输入你的名字并且点击确定按钮就会把你的名字和使用时间记录到游戏排行榜;之后会自动跳转到游戏选关界面。 4.游戏排行榜功能:点击积分排行进入游戏排行榜功能界面,这个界面就是显示你原来游戏完成所用的时间,它按照从低到高,从简单到困难依次排序,按返回按键跳转回到游戏主菜单界面。5.游戏设置:点击游戏设置按钮进入游戏设置界面,在这个界面可以关闭或开启背景音乐以及清空排行榜信息,点击返回按钮或返回键跳转到游戏主菜单界面。6.游戏关于:点击游戏关于按钮查看游戏相关的信息。弹出对话框,介绍游戏的版权以及相关信息,点击返回按钮或返回键返回到游戏主菜单界面。7.游戏帮助:点击“游戏帮助”按钮,跳转到游戏帮助界面。为不熟悉游戏操作的用户提供游戏规则以及游戏系统说明,点击返回键可返回到游戏主菜单界面。8.退出游戏:点击退出游戏按钮直接弹出二次确认对话框,再次确认直接退出游戏。4拼图游戏的设计思路4.1 基本操作的流程图当前是从LogoActivity界面跳转到主菜单界面,在主界面菜单下显示游戏帮助、游戏排行、游戏选择、游戏退出、游戏关于和游戏设置按钮;在游戏界面由GameView组成,GameView是由格子组构成;在游戏排行界面可以跳转到任何一个界面,而且它本来就是从游戏结束界面,输入游戏者的信息后保存在数据库中,然后跳转到游戏排行界面;在游戏过程中和游戏完成时都有不同的音乐,音乐的音量及开关都在游戏设置中进行设置。图4.1 Activity类的关系图图4.2 Music类与其他类的关系图图4.3 Rank类与其他类的关系图4.2 开始动画并跳转到菜单页面点击游戏图标进入Logo 界面,这时每张Logo 图片会占满全屏并保持2 秒时间切换3张Logo 图片依次展示后游戏自动进入主菜单界面。游戏Logo部分只能一张图片显示2两秒后自动跳到下张图片,所以做成一个帧动画,两秒跳过一震,并在logview中启动动画,当动画结束后跳转到菜单界面。其实在logo界面的切换中是利用的帧动画,通过总的时间然后自动跳转到菜单界面。通过对菜单界面的布局让其显示成有规律的界面,并对界面的按钮进行了监听事件,实现按钮的点击事件,达到需要功能的目的。如图4.3所示图4.4 游戏菜单界面主要代码过程:Public class MenuActivity extends Activity implements OnClickListener / 初始化一个Activity集合public static ArrayList activitys = new ArrayList();Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.menu);MenuActivity.activitys.add(MenuActivity.this);ImageView begin = (ImageView) findViewById(R.id.iv_startgame);begin.setOnClickListener(this);ImageView rank = (ImageView) findViewById(R.id.iv_rank);rank.setOnClickListener(this);ImageView settings = (ImageView) findViewById(R.id.iv_settings);settings.setOnClickListener(this);ImageView hel = (ImageView) findViewById(R.id.iv_help);hel.setOnClickListener(this);ImageView about = (ImageView) findViewById(R.id.iv_about);about.setOnClickListener(this);ImageView exit = (ImageView) findViewById(R.id.iv_exit);exit.setOnClickListener(this);/ 音乐状态开启Player.isSound = true;/ 读保存的内容SharedPreferences sharedPreferences = getSharedPreferences(music_state, Context.MODE_PRIVATE);Player.isSound = sharedPreferences.getBoolean(state, true);if (Player.isSound) / menu 界面时音乐循环播出Player.start(this, 1, true); else Player.stop();Rank.loadRank(this);4.3点击帮助游戏跳转界面当点击按钮之后,跳转到帮助界面,显示游戏帮助等内容,在游戏帮助的xml里需要设置listview列表格局,点击每个格局会隐藏扩展信息内容,并增加一个listview格局中的元素。便在其中填写帮助内容。如图4.5 图4.5 显示帮助界面的内容主要代码实现:protected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.help_lv_item);MenuActivity.activitys.add(HelpActivity.this);/ 加载背景图片getWindow().setBackgroundDrawableResource(R.drawable.helpback);/ 初始化ListView 对象(让其以竖直列表的方式排列)ListView lv = (ListView) findViewById(R.id.lv);/初始化适配器MyAdapter myAdapter = new MyAdapter();/设置适配器lv.setAdapter(myAdapter);/ 设置监听事件lv.setOnItemClickListener(new OnItemClickListener() Overridepublic void onItemClick(AdapterView arg0, View arg1, int arg2,long arg3) TextView tv2 = (TextView) arg1.findViewById(R.id.tv2);/ 判断当前tv2是否显示if (tv2.getVisibility() = View.VISIBLE) / 如果为显示设置让它隐藏tv2.setVisibility(View.GONE); else / 若果为隐藏设置为显示tv2.setVisibility(View.VISIBLE););4.4点击游戏设置跳转到设置界面点击“游戏设置”按钮,跳转到游戏设置界面。这个界面主要控制游戏音乐开关和音量大小、重置游戏排行榜的积分以及返回到游戏主菜单界面,在xml界面中将控制音乐开关,和音量大小,重置积分排行,返回主菜单界面的控件,在Java文件中实例化一切的控件并对控件进行监听事件,实行各种点击事件,是音乐随音乐图标的改变而改变,声音大小也要随之改变,点击清空存档时,积分排榜为空,返回时结束当前activity,如图4.6所示。图4.6 游戏设置界面 主要代码实现:public class SettingsActivity extends Activity implements OnClickListener /* * AudioManager是音量的存储铃声的控制 * */private AudioManager audioManager;int currentvolume;/ 当前音量private SeekBar seekBar;private ImageView iv1_on;Overrideprotected void onCreate(Bundle savedInstanceState) super.onCreate(savedInstanceState);setContentView(R.layout.settings);MenuActivity.activitys.add(SettingsActivity.this);/ 找到游戏状态图标ImageView iv_on = (ImageView) findViewById(R.id.iv_on);/ 对游戏状态图标设置监听事件iv_on.setOnClickListener(this);/ 找到关闭音乐图标ImageView iv_off = (ImageView) findViewById(R.id.iv_off);/ 对关闭音乐图标设置监听事件iv_off.setOnClickListener(this);/ 找到增加音量图标ImageView iv_up = (ImageView) findViewById(R.id.iv_up);/ 对增加音量图标设置监听事件iv_up.setOnClickListener(this);/ 找到降低音量的图标ImageView iv_down = (ImageView) findViewById(R.id.iv_down);/ 对降低音量的图标设置监听事件iv_down.setOnClickListener(this);/ 找到游戏状态图标iv1_on = (ImageView) findViewById(R.id.iv1_on);/ 对游戏状态图标设置监听事件iv1_on.setOnClickListener(this);/ 找到返回按钮Button btn_back = (Button) findViewById(R.id.btn_back);/ 对返回按钮进行监听事件btn_back.setOnClickListener(this);/ 找到清空文档按钮Button btn_text = (Button) findViewById(R.id.btn_text);/ 对清空文档按钮进行监听事件btn_text.setOnClickListener(this);/ 读保存的内容SharedPreferences sharedPreferences = getSharedPreferences(music_state, Context.MODE_PRIVATE);Player.isSound = sharedPreferences.getBoolean(state, true);/* * 判断音乐状态是否开启 * */if (!Player.isSound) / 音乐状态关闭的话设置背景为关闭iv1_on.setImageResource(R.drawable.audio_off); else iv1_on.setImageResource(R.drawable.audio_on);/ 音乐状态开启的话开始播放音乐Player.start(this, 0, false);/ 初始化当前音量currentvolume = sharedPreferences.getInt(currentvolume, -1);/ 初始化audioManageraudioManager = (AudioManager) getSystemService(Context.AUDIO_SERVICE);/ 获取最大音量值int streamMaxVolume = audioManager.getStreamMaxVolume(AudioManager.STREAM_MUSIC);if (currentvolume = -1) int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);currentvolume = streamVolume;/ 初始化seekBarseekBar = (SeekBar) findViewById(R.id.sk);/ 设置进度条的值seekBar.setProgress(currentvolume);/ 设置进度条的最大值seekBar.setMax(streamMaxVolume);/ 对进度条的监听事件seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() Overridepublic void onStopTrackingTouch(SeekBar seekBar) Overridepublic void onStartTrackingTouch(SeekBar seekBar) /* * 进度条拖动过程中 * */Overridepublic void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) / 当前值等于进度条的值currentvolume = progress;int streamVolume = audioManager.getStreamVolume(AudioManager.STREAM_MUSIC);if (streamVolume progress) audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_LOWER, 0); else audioManager.adjustStreamVolume(AudioManager.STREAM_MUSIC,AudioManager.ADJUST_RAISE, 0);/ 拖动进度条开启音乐openMusic();/ 如果进度条的值为0就关闭音乐if (currentvolume = 0) /关闭音乐closeMusic();); 4.5点击积分排名跳转到积分排名界面显示三个难度,简单,普通,困难三个等级的排名,每个等级排名最多只为10行,这里需要用到数据库,进行对数据库的增删改查。1.当游戏胜利时弹出一个界面,输入姓名,向数据库中加入信息,以便在积分排名中查看。如图4.7所示: 图4.7 游戏胜利时输入姓名界面2.添加完数据后可以在积分排行中查看,如图4.8所示:图4.8 积分排行的界面4.6点击开始游戏见面进行游戏1.点击开始游戏时,会先跳转到选择界面,进行对图片的选择,在xml里设置格局,在Java文件中进行图片资源的获取,并实现左右滑动时图片也跟随滑动,以便于更好的选择图片。2.选择图片后运用格子组和画布,画笔等工具,将图片切割为等级难度不同的图片,简单的切割为3*3,普通的切割为4*4,困难的切割成5*5,并设定好切割的次数,在切割时屏幕显示提示文字“图片正在打乱中”,打乱完成后会在屏幕的左上角显示打乱图片的缩略图,点击可以看大图,屏幕的右上角添加一个计时器timer,对完成游戏时间进行记录,计时器下方会有一个重新打乱按钮,点击则进行重新打乱。如图4.9所示:图4.9 游戏打乱界面3.在游戏中和图片打乱中时,按手机菜单建时,会弹出菜单进行选择,返回游戏时则直接返回游戏当中,游戏帮助时则跳转到帮助界面查看信息,游戏设置时则跳转到设置界面进行一系列的设置操作,返回选关则退回到选择图片处,如图4.10所示:图4.10 游戏中进入设置界面4.当游戏胜利是,会播放胜利的音乐,并将整个完成游戏的过程重新放映一遍,放映结束后会跳到另一个界面,这个界面会显示成功完成游戏的图片,在图片下方会出现跑马灯,显示“恭喜您,闯关成功”的字样。如图4.11所示:图4.11 游戏胜利界面4.7点击退出游戏按钮当点击退出游戏按钮时,会弹出一个提示对话框,进行选择,选择退出则结束整个游戏,如果点击取消,则返回主菜单。如图4.12所示:图4.12 选择退出游戏界面5功能的实现5.1游戏菜单界面的功能实现首先是从logo界面跳转到游戏菜单界面,主要利用帧动画实现页面跳转,其主要实现为:1. Logo界面需要展示3张Logo图片,每张图片保持2秒显示时间,之后自动进入Menu界面。(1)创建Android项目GamePic;(2)创建一个LogoView类继承View;(3)重写View当中的ondraw方法;(4)创建一个Bitmap对象并且加载图片;(5)在ondraw方法中使用画布对象进行绘制;(6)在Activity当中创建LogoView类的对象;(7)初始化logoview;(8)通过Activity当中的setcontentview方法加载LogoView的对象;(9)设置屏幕的宽高(1、在MainActivity中new DisplayMetrics类2、声明int的宽高3、得到metrics对象4、通过metrics.heightpixecs来获得高,同理获得宽)。2.在LogoView中声明Bitmap数组和图片的ID数组,在声明一个MainActivity的对象,在声明一个int num循环的次数,在声明一个boolean类型的对象(1)利用MainActivity的对象把context转换为另一个Activity;(2)通过for循环、BitmapFactory来获得图片;(3)创建一个线程,实现Runable,创建run方法 ;(4)在run方法中通过thread让图片每两秒切换,通过postInvalidate方法进行刷新使用;(5)利用While循环来对图片的切换;(6)在启动线程。3.Logo界面的跳转:(1)在MainActivity当中创建gotoMenu方法;(2)利用Intent进行页面跳;(3)创建一个MenuActivity类继承Activity;(4)在清单文件内注册命名为MenuActivity;(5)在run方法中调用gotoMenu方法;(6)在MainActivity当中启动Intent。表5.1 Logo界面图片资源列表Logo功能名称切换方式资源图片渠道商Logo2秒后自动切换下一张mmlogo.png开发商Logo2秒后自动切换下一张and1.png游戏Logo2秒后自动切换Menulogo.jpg5.2游戏菜单界面显示及关于和退出对话框的显示菜单界面需要展示6个Butoon按钮点击相关按钮进行页面跳转或对话框显示:1.首先自定义6个类的Activity分别为游戏开始、游戏排名、游戏设置、游戏帮助、游戏关于、游戏退出;2.在layout中建立相对应的XML文件并且在清单文件内注册;3.在activity_main中首先加载背景图片,对6个按钮进行加载并布局;4.在利用任务1当中的MunuActivity,在MunuActivity中声明6个Butoon的对象;5.我是利用对Activity自身的监听事件分别对6个Butoon的对象进行监听(也可以利用匿名内部类等方法进行监听);6.利用Intent进行页面跳转;7.在MunuActivity中新建一个关于对话框的方法,利用AlertDialog提示对话框,用AlertDialog.Builder这个属性,new AlertDialog.Builder,设置对话框的图标和标题,对dialogo接口的监听,最后一定要show();8.在实现退出对话框显示时跟关于类似,只不过它使用的是两个按钮的对话框。表5.2 Logo界面图片资源列菜单功能名称切换方式资源图片游戏开始 buttonBegin点击游戏开始bm1.png游戏排名 buttonRank点击游戏排名bm2.png游戏设置 buttonSet点击游戏设置bm3.jpg游戏帮助 buttonHelp点击游戏帮助Bm4.jpg游戏关于 buttonAbout点击游戏关于Bm5.jpg游戏退出 buttonExit点击游戏退出Bm6.jpg5.3游戏帮助界面显示游戏帮助界面需要用到适配器Adapter和listview的属性。1.创建一个自定义类来继承ListActivity,并且重写oncreat方法;2.创建一个自定义的适配器Adapter继承BaseAdapter,并且重写4个方法(实际只操作两个);3.在创建一个自定义类的构造方法;4.创建一个列表元素样式布局,有两个TextView ,对帮助内容的划分;5.在oncreat方法中通过getwindiow().set加载帮助界面的背景图片;6.在oncreat方法中创建自定义的Adapte对象,通过getListIVew方法获取ListActivity里面的ListView,ListView对象调用setAdapter方法设置适配器;7.在自定义的适配器Adapter中,首先得在全局声明两个TextView的对象,声明标题数组和内容数组;8.设置标题和内容返回给View;9.在构造方法中通过布局适配器调用from方法。5.4游戏设置界面显示游戏设置界面需要设置一个Music类和一个自定义Activity还要一个XML布局。1.XML布局的操作:(1)创建4个textview对声音状态、声音开关启、放大减小声音和音量显示的布局;(2)创建5个imageview对声音状态、声音开关启、放大减小声音的图标布局;(3)创建一个seekbar对声音显示进度条的布局;(4)创建2个button对清空文档和返回键的布局。2.Music类的操作:(1)首先创建一个Music类;(2)声明Mediaplayer对象,声明一个音乐id数组和定义一个当前音乐的id;(3)创建两个静态的方法,一个是开启音乐,另一个是关闭音乐;(4)在开启音乐方法中,首先判断当前音乐id和定义的是否相等并且音乐是否正在播放,如果是的话return当前id并且赋值给自定的id;(5)在开启音乐方法中,判断如果Mediaplaye的对象不为空,在判断是否正在播放,如果正在播放的话停止播放,如果不为空还要音乐重置和滞空,如果为空的话执行创建音乐播放id病开始播放音乐;(6)在关闭音乐方法中,判断当前音乐是否为空,不为空停止播放。3.自定义Activity的操作:(1)自定义一个Activity继承Activity并重写oncreate方法;(2)声明播放音乐对象、关闭音乐对象、音乐播放状态对象、增加音量对象、降低音量对象、声明AudioManager对象、声明进度条对象、返回按钮对象,定义一个最大值和当前值;(3)在oncread方法中,实例化AudioManager对象,获取最大值和当前值;(4)实例化播放音乐、关闭音乐、增加音乐和降低音乐对象,并对自身Activity设置监听事件;(5)实例化进度条对象并对进度条进行监听并重写它的3个方法,在它的拖动过程方法中获取当前值并根据当前值设置进度条的音量大小;(6)实例化返回按钮并进行监听事件,在它的监听事件中设置finish方法并关闭音乐;(7)在监听自身的Activity中分别对播放音乐、关闭音乐、增加音乐和降低音乐进行设置。表5.3 设置界面图片资源列表游戏设置功能名称切换方式资源图片播放音乐点击播放音乐on.png关闭音乐点击关闭音乐off.png增加音量点击增加音量up. png降低音量点击降低音量Down. png进度条拖动进度条返回按钮点击返回按钮5.5游戏开始界面选择图片显示游戏开始界面选择图片显示需要10张图片,需要鼠标滑动选择图片,还要进行游戏难度的选择操作。1.BeginActivity类的操作:(1) 创建一个自定义BeginActivity类继承Activity,并重写oncreate方法;(2)创建两个XML布局文件bgein和gallery,在begin XML中设置两有两个控件,一个gallery一个是textview,在gallery布局文件中设置一个imageview控件。2.GalleryAdapter适配器的操作:(1)创建一个自定义GalleryAdapter适配器继承BaseAsapter;(2)创建一个GalleryAdapter的构造方法,并且重写GalleryAdapter的4个方法;(3)声明一个布局过滤器的对象、ImageView的对象和当前图片资源id数组;(4)在构造方法中实例化布局过滤器的对象,并调用头了from方法(5)在重写方法getView中调用布局过滤器的inflate方法把XML布局变成View;(6)实例化ImageView的对象;(7)设置适配器;(8)在重写getCount方法中返回id数组的长度。3.BeginActivity中实现鼠标滑动选择图片的操作:(1)声明GalleryAdapter和Gallery两个的对象;(2)在重写oncreate发方法中实例化GalleryAdapter和Gallery;(3)设置适配器。4.难度选择对话框的操作:(1)创建一个显示对话框showDialog的方法(用的是提示对话框);(2)实例化提示对话框;(3)设置对话框的Icon和标题;(4)通过对Activity自身的监听事件对3个对话框按钮进行监听;(5)在重写oncreate方法中对某个元素进行监听;(6)在点击某个元素方法中调用显示对话框showDialog()方法。表5.4 Logo界面图片资源列表鼠标滑动选择图片切换方式资源图片选择图片b0鼠标滑动切换到b1b0.png选择图片b1鼠标滑动切换到b2b1.png选择图片b2鼠标滑动切换到b3b2.jpg选择图片b3鼠标滑动切换到b4b3.jpg选择图片b4鼠标滑动切换到b5b4.jpg选择图片b5鼠标滑动切换到b6b5.jpg选择图片b6鼠标滑动切换到b7b6.jpg选择图片b7鼠标滑动切换到b8b7.jpg选择图片b8鼠标滑动切换到b9b8.jpg选择图片b9不变b9.jpg5.6 game界面实现 game界面需要创建一个自定义的Activity和自定义的View,还要执行Activity之间的跳转。1.自定义Activity操作:(1)创建一个自定义的GameActivity继承Activity;(2)实例化自定义的View,并在Activity上显示View对象。2.自定义的View操作:(1

温馨提示

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

评论

0/150

提交评论