版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本章要求:第20章猜猜鸡蛋放在哪只鞋子里实现猜猜鸡蛋放在哪只鞋子里小游戏的基本流程如何进行游戏界面布局ImageView组件的基本应用如何实现随机指定鸡蛋所在鞋子如何设置ImageView组件的透明度本章要求:第20章猜猜鸡蛋放在哪只鞋子里实现猜猜鸡蛋放在1.课程设计目的2.功能描述3.总体设计4.实现过程5.运行调试6.课程设计总结第20章猜猜鸡蛋放在哪只鞋子里1.课程设计目的第20章猜猜鸡蛋放在哪只鞋子里本章的课程设计目的是向读者介绍开发Android游戏的基本流程,以及页面布局和Andriod基本组件Button和ImageView的具体应用。20.1课程设计目的本章的课程设计目的是向读者介绍开发Android游戏猜猜鸡蛋放在哪只鞋子里是一个愉悦身心的小游戏,它的功能结构如图20-1所示。20.2功能描述图20-1猜猜鸡蛋放在哪只鞋子里小游戏的功能结构图猜猜鸡蛋放在哪只鞋子里是一个愉悦身心的小游戏,它的功能结构如20.3总体设计20.3.1构建开发环境20.3.2准备资源20.3.3业务流程图20.3总体设计20.3.1构建开发环境在开发本实例时,首先需要下载AndroidSDK4.3(最好按照第1章介绍的方法下载ADTBundle)。另外,在创建模拟器时,最好按照图20-2所示的参数进行配置。图20-2配置模拟器参数20.3.1构建开发环境在开发本实例时,首先需要下载AndroidSDK在实现本实例前,首先需要准备游戏中所需的图片资源,这里共包括游戏背景图片、图标、默认显示的鞋子、有鸡蛋的鞋子和没有鸡蛋的鞋子5张图片,如图20-3所示,并把它们放置在项目根目录下的res/drawable-mdpi/文件夹中,放置后的效果如图20-4所示。图20-3准备的5张图片图20-4放置后的图片资源20.3.2准备资源在实现本实例前,首先需要准备游戏中所需的图片资源,这将图片资源放置到drawable-hdpi、drawable-ldpi和drawable-mdpi文件夹后,系统将自动在gen目录下的com.mingrisoft包中的R.java文件中添加对应的图片id。打开R.java文件,可以看到下面的图片id:publicstaticfinalintbackground=0x7f020000;publicstaticfinalintic_launcher=0x7f020001;publicstaticfinalintshoe_default=0x7f020002;publicstaticfinalintshoe_ok=0x7f020003;publicstaticfinalintshoe_sorry=0x7f020004;说明:R.java是系统自动派生的,最好不要进行修改。将图片资源放置到drawable-hdpi、draw当玩家开始游戏时,屏幕上将显示3只鞋子,单击其中的任意一只鞋子,程序判断该鞋子中是否有鸡蛋,并且打开鞋子显示结果,此时可以通过单击“再玩一次”按钮重新开始游戏。具体的系统流程如图20-5所示。图20-5猜猜鸡蛋放在哪只鞋子里小游戏的系统流程图20.3.3业务流程图当玩家开始游戏时,屏幕上将显示3只鞋子,单击其中的任实现游戏规则的代码全部编写在主活动MainActivity中,具体的实现步骤如下:(1)在主活动MainActivity中,定义一个保存全部图片ID的数组、3个ImageView类型的对象和一个TextView类型的对象,具体代码如下:
int[]imageIds=newint[]{R.drawable.shoe_ok,R.drawable.shoe_sorry, R.drawable.shoe_sorry}; //定义一个保存全部图片ID的数组 privateImageViewimage1; //ImageView组件1 privateImageViewimage2; //ImageView组件2 privateImageViewimage3; //ImageView组件3 privateTextViewresult; //显示结果(2)编写一个无返回值的方法reset(),用于随机指定鸡蛋所在的鞋子,关键代码如下:
privatevoidreset(){ for(inti=0;i<3;i++){ inttemp=imageIds[i]; //将数组元素i保存到临时变量中 intindex=(int)(Math.random()*2); //生成2以内的一个随机整数 imageIds[i]=imageIds[index]; //将随机数指定的数组元素的内容赋值给数组元素i imageIds[index]=temp; //将临时变量的值赋值给随机数组指定的那个数组元素 } }20.4实现过程实现游戏规则的代码全部编写在主活动MainActivity中(3)由于ImageButton组件设置背景透明后,将不再显示鼠标单击效果,所以我们需要通过Drawable资源来设置图片的android:src属性。首先编写一个Drawable资源对应的XML文件button_state.xml,用于设置当鼠标按下时显示的图片,以及鼠标没有按下时显示的图片,具体代码如下:image1=(ImageView)findViewById(R.id.imageView1); //获取ImageView1组件image2=(ImageView)findViewById(R.id.imageView2); //获取ImageView2组件image3=(ImageView)findViewById(R.id.imageView3); //获取ImageView3组件result=(TextView)findViewById(R.id.textView1); //获取TextView组件reset(); //将鞋子的顺序打乱(4)为3个显示鞋子的ImageView组件添加单击事件监听器,用于将鞋子打开,并显示猜猜看的结果,关键代码如下://为第一只鞋子添加单击事件监听 image1.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,0); //判断结果 //为第二只鞋子添加单击事件监听 image2.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,1); //判断结果 //为第三只鞋子添加单击事件监听 image3.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,2); //判断结果
(3)由于ImageButton组件设置背景透明后,将不再显(5)编写isRight()方法,用于显示打开的鞋子,并显示判断结果,具体代码如下:
/** *判断猜出的结果 * *@paramv *@paramindex */ privatevoidisRight(Viewv,intindex){ //使用随机数组中图片资源ID设置每个ImageView image1.setImageDrawable(getResources().getDrawable(imageIds[0])); image2.setImageDrawable(getResources().getDrawable(imageIds[1])); image3.setImageDrawable(getResources().getDrawable(imageIds[2])); //为每个ImageView设置半透明效果 image1.setAlpha(100); image2.setAlpha(100); image3.setAlpha(100); ImageViewv1=(ImageView)v;//获取被单击的图像视图 v1.setAlpha(255); //设置图像视图的透明度 if(imageIds[index]==R.drawable.shoe_ok){ //判断是否猜对 result.setText("恭喜您,猜对了,祝你幸福!"); }else{ result.setText("很抱歉,猜错了,要不要再试一次?"); } }(5)编写isRight()方法,用于显示打开的鞋子,并显示(6)获取“再玩一次”按钮,并为该按钮添加单击事件监听器,在其单击事件中,首先将标题恢复为默认值、然后设置3个ImageView的透明度为完全不透明,最后再设置这3个ImageView的图像内容为默认显示图片,具体代码如下:Buttonbutton=(Button)findViewById(R.id.button1); //获取“再玩一次”按钮//为“再玩一次”按钮添加事件监听器button.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ reset(); result.setText(R.string.title); //将标题恢复为默认值 image1.setAlpha(255); image2.setAlpha(255); image3.setAlpha(255); image1.setImageDrawable(getResources().getDrawable( R.drawable.shoe_default)); image2.setImageDrawable(getResources().getDrawable(R.drawable.shoe_default)); image3.setImageDrawable(getResources().getDrawable(R.drawable.shoe_default)); }});(6)获取“再玩一次”按钮,并为该按钮添加单击事件监听器,在项目开发完成后,就可以在模拟器中运行该项目了。此时,如果您没有创建模拟器,那么需要先创建并启动模拟器,然后再按照以下步骤运行项目。(1)在“项目资源管理器”中选择项目名称节点,并在该节点上单击鼠标右键,在弹出的快捷菜单中选择“运行方式”/“AndroidApplication”菜单项,即可在创建的AVD模拟器中运行Android程序。(2)程序成功在模拟器中运行后,将显示如图20-6所示的游戏主界面。单击其中的任意一只鞋子,将打开鞋子显示里面是否有鸡蛋,并且将没有被单击的鞋子设置为半透明显示,被单击的正常显示,同时根据单击的鞋子里面是否有鸡蛋显示对应的结果。例如,单击中间的那只鞋子,如果鸡蛋在这只鞋子里,将显示如图20-7所示的运行结果,图20-6游戏主界面图20-7猜对了时的效果20.5运行调试项目开发完成后,就可以在模拟器中运行该项目了。此时,否则,将显示如图20-8所示的效果。单击“再玩一次”按钮,重新开始游戏。图20-8猜错了时的效果否则,将显示如图20-8所示的效果。单击“再玩一次”按钮,重本章通过一个猜猜鸡蛋放在哪只鞋子里小游戏,向读者介绍了Android开发小游戏的基本流程,以及页面布局和Andriod基本组件Button和ImageView的具体应用。通过本章的学习,读者应该掌握Android页面布局以及基本组件Button和ImageView的具体应用,以及实现随机指定鸡蛋所在鞋子的方法。20.6课程设计总结本章通过一个猜猜鸡蛋放在哪只鞋子里小游戏,向读者介绍本章要求:第20章猜猜鸡蛋放在哪只鞋子里实现猜猜鸡蛋放在哪只鞋子里小游戏的基本流程如何进行游戏界面布局ImageView组件的基本应用如何实现随机指定鸡蛋所在鞋子如何设置ImageView组件的透明度本章要求:第20章猜猜鸡蛋放在哪只鞋子里实现猜猜鸡蛋放在1.课程设计目的2.功能描述3.总体设计4.实现过程5.运行调试6.课程设计总结第20章猜猜鸡蛋放在哪只鞋子里1.课程设计目的第20章猜猜鸡蛋放在哪只鞋子里本章的课程设计目的是向读者介绍开发Android游戏的基本流程,以及页面布局和Andriod基本组件Button和ImageView的具体应用。20.1课程设计目的本章的课程设计目的是向读者介绍开发Android游戏猜猜鸡蛋放在哪只鞋子里是一个愉悦身心的小游戏,它的功能结构如图20-1所示。20.2功能描述图20-1猜猜鸡蛋放在哪只鞋子里小游戏的功能结构图猜猜鸡蛋放在哪只鞋子里是一个愉悦身心的小游戏,它的功能结构如20.3总体设计20.3.1构建开发环境20.3.2准备资源20.3.3业务流程图20.3总体设计20.3.1构建开发环境在开发本实例时,首先需要下载AndroidSDK4.3(最好按照第1章介绍的方法下载ADTBundle)。另外,在创建模拟器时,最好按照图20-2所示的参数进行配置。图20-2配置模拟器参数20.3.1构建开发环境在开发本实例时,首先需要下载AndroidSDK在实现本实例前,首先需要准备游戏中所需的图片资源,这里共包括游戏背景图片、图标、默认显示的鞋子、有鸡蛋的鞋子和没有鸡蛋的鞋子5张图片,如图20-3所示,并把它们放置在项目根目录下的res/drawable-mdpi/文件夹中,放置后的效果如图20-4所示。图20-3准备的5张图片图20-4放置后的图片资源20.3.2准备资源在实现本实例前,首先需要准备游戏中所需的图片资源,这将图片资源放置到drawable-hdpi、drawable-ldpi和drawable-mdpi文件夹后,系统将自动在gen目录下的com.mingrisoft包中的R.java文件中添加对应的图片id。打开R.java文件,可以看到下面的图片id:publicstaticfinalintbackground=0x7f020000;publicstaticfinalintic_launcher=0x7f020001;publicstaticfinalintshoe_default=0x7f020002;publicstaticfinalintshoe_ok=0x7f020003;publicstaticfinalintshoe_sorry=0x7f020004;说明:R.java是系统自动派生的,最好不要进行修改。将图片资源放置到drawable-hdpi、draw当玩家开始游戏时,屏幕上将显示3只鞋子,单击其中的任意一只鞋子,程序判断该鞋子中是否有鸡蛋,并且打开鞋子显示结果,此时可以通过单击“再玩一次”按钮重新开始游戏。具体的系统流程如图20-5所示。图20-5猜猜鸡蛋放在哪只鞋子里小游戏的系统流程图20.3.3业务流程图当玩家开始游戏时,屏幕上将显示3只鞋子,单击其中的任实现游戏规则的代码全部编写在主活动MainActivity中,具体的实现步骤如下:(1)在主活动MainActivity中,定义一个保存全部图片ID的数组、3个ImageView类型的对象和一个TextView类型的对象,具体代码如下:
int[]imageIds=newint[]{R.drawable.shoe_ok,R.drawable.shoe_sorry, R.drawable.shoe_sorry}; //定义一个保存全部图片ID的数组 privateImageViewimage1; //ImageView组件1 privateImageViewimage2; //ImageView组件2 privateImageViewimage3; //ImageView组件3 privateTextViewresult; //显示结果(2)编写一个无返回值的方法reset(),用于随机指定鸡蛋所在的鞋子,关键代码如下:
privatevoidreset(){ for(inti=0;i<3;i++){ inttemp=imageIds[i]; //将数组元素i保存到临时变量中 intindex=(int)(Math.random()*2); //生成2以内的一个随机整数 imageIds[i]=imageIds[index]; //将随机数指定的数组元素的内容赋值给数组元素i imageIds[index]=temp; //将临时变量的值赋值给随机数组指定的那个数组元素 } }20.4实现过程实现游戏规则的代码全部编写在主活动MainActivity中(3)由于ImageButton组件设置背景透明后,将不再显示鼠标单击效果,所以我们需要通过Drawable资源来设置图片的android:src属性。首先编写一个Drawable资源对应的XML文件button_state.xml,用于设置当鼠标按下时显示的图片,以及鼠标没有按下时显示的图片,具体代码如下:image1=(ImageView)findViewById(R.id.imageView1); //获取ImageView1组件image2=(ImageView)findViewById(R.id.imageView2); //获取ImageView2组件image3=(ImageView)findViewById(R.id.imageView3); //获取ImageView3组件result=(TextView)findViewById(R.id.textView1); //获取TextView组件reset(); //将鞋子的顺序打乱(4)为3个显示鞋子的ImageView组件添加单击事件监听器,用于将鞋子打开,并显示猜猜看的结果,关键代码如下://为第一只鞋子添加单击事件监听 image1.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,0); //判断结果 //为第二只鞋子添加单击事件监听 image2.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,1); //判断结果 //为第三只鞋子添加单击事件监听 image3.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ isRight(v,2); //判断结果
(3)由于ImageButton组件设置背景透明后,将不再显(5)编写isRight()方法,用于显示打开的鞋子,并显示判断结果,具体代码如下:
/** *判断猜出的结果 * *@paramv *@paramindex */ privatevoidisRight(Viewv,intindex){ //使用随机数组中图片资源ID设置每个ImageView image1.setImageDrawable(getResources().getDrawable(imageIds[0])); image2.setImageDrawable(getResources().getDrawable(imageIds[1])); image3.setImageDrawable(getResources().getDrawable(imageIds[2])); //为每个ImageView设置半透明效果 image1.setAlpha(100); image2.setAlpha(100); image3.setAlpha(100); ImageViewv1=(ImageView)v;//获取被单击的图像视图 v1.setAlpha(255); //设置图像视图的透明度 if(imageIds[index]==R.drawable.shoe_ok){ //判断是否猜对 result.setText("恭喜您,猜对了,祝你幸福!"); }else{ result.setText("很抱歉,猜错了,要不要再试一次?"); } }(5)编写isRight()方法,用于显示打开的鞋子,并显示(6)获取“再玩一次”按钮,并为该按钮添加单击事件监听器,在其单击事件中,首先将标题恢复为默认值、然后设置3个ImageView的透明度为完全不透明,最后再设置这3个ImageView的图像内容为默认显示图片,具体代码如下:Buttonbutton=(Button)findViewById(R.id.button1); //获取“再玩一次”按钮//为“再玩一次”按钮添加事件监听器button.setOnClickListener(newOnClickListener(){ @Override publicvoidonClick(Viewv){ reset(); result.setText(R.strin
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化工产品冷链物流行业市场需求变化带来新的商业机遇分析报告
- 废弃塑料回收利用行业市场深度分析报告
- 可穿戴家居设备行业市场需求变化带来新的商业机遇分析报告
- 可持续供应链与物流相关行业公司成立方案及可行性研究报告
- 2024届高三九省联考模式语文模拟试题(一)(解析版)
- 已编辑有理数加减混合运算测试题卷100道
- unit2(基础作业)2024-2025学年三年级上册 英语 译林版
- 2023-2024学年山西省长治市高一下学期7月期末物理试题(解析版)
- 四川省成都市(2024年-2025年小学四年级语文)统编版课后作业(上学期)试卷及答案
- 2024年湖南益阳桃江县事业单位引进人才66人历年高频500题难、易错点模拟试题附带答案详解
- 城市规划原理课件-经济与产业
- GB 2707-2016食品安全国家标准鲜(冻)畜、禽产品
- 厦门本土文化课件
- 2023年上海临港外服人力资源有限公司招聘笔试题库及答案解析
- 名著黑布林《快乐王子》阅读试题(含答案)
- 看图猜成语大全(含答案)课件
- NB∕T 10731-2021 煤矿井下防水密闭墙设计施工及验收规范
- 图解思考-功能泡泡图课件
- 手远端软组织缺损治疗课件
- 苏教版译林小学英语人物Word可打印头像
- 人教版八年级下册英语全册教案完整版教学设计含教学反思
评论
0/150
提交评论