利用MIT App Inventor安卓图形化开发入门

本文详细描述了一款基于打地鼠游戏理念改良的Windows平台应用,使用MITAPPInventor开发,涉及精灵、画布、计时器等组件的设计,包括游戏规则、计分系统、逻辑流程和用户界面,旨在提供休闲娱乐和手速训练体验。
摘要由CSDN通过智能技术生成

实验过程:

  • 程序描述
    1. 研究背景:以打地鼠小程序为灵感,以此做出改良优化。
    2. 程序主要功能:益智小游戏,练习手速,放松娱乐。
    3. 技术路线:Windows    XP/7操作系统 MIT APP Inventor开发软件
  • 程序设计(模块图、算法流程图)
  1. 根据游戏制作选定抓蝴蝶游戏所覆盖的组件并了解其概念:
  • 精灵组件:具有触感的可移动图像;
  • 画布组件:精灵的舞台;
  • 计时器组件:用来计时,让精灵可以改变形状和随机移动;
  • 音效播放器组件:击中蝴蝶时产生振动,设置背景音乐;
  • 按钮组件:开始游戏或重新开始;
  • 标签组件:用来显示文字;
  • 对话框组件:用来提示玩家胜利,以供玩家选择是否继续游戏;
  1. 对抓蝴蝶游戏进行组件设计:
  1. 根据游戏要求,设置三个屏幕,分别为开始页面,游戏页面,失败结束页面;
  2. 首先对开始页面进行设计:
  1. 美化屏幕:首先对开始页面设置背景图片garden.jpg;
  2. 在从组件面板的用户界面分组中,拖入按钮组件,将文本设置为开始游戏,并将其重命名为开始游戏,并对其外观进行相应小设计;
  3. 设置背景音乐:从组件面板的多媒体分组中,找到音效播放器组件,将其拖放到预览窗口中,它将落在“非可视组件”区域,音量为50,上传背景音乐,并将它设置为只在前台运行

该组件设计图如下:

  1. 对游戏页面进行设计:
  1. 美化屏幕:首先对开始页面设置背景图片bcg.jpg;
  2. 在从组件面板的用户界面分组中,拖入按钮组件,将文本设置为重新开始,并将其重命名为重新开始按钮,并对其外观进行相应小设计;
  3. 设置游戏规则:在从组件面板的用户界面分组中,拖入标签组件,将其文本内容改为“当抓到十只蝴蝶时胜利,当扑空三次时失败”;
  4. 从组件面板的绘图动画分组中,拖动画布组件,采用其默认名称为:画布1,设置其高度与宽度属性为“充满”,并设置背景图片garden.jpg;   
  5. 从组件面板的绘图动画分组中,拖动三个精灵组件,将其放置在画布1中,将其改名为“butterfly1”、 “butterfly2” 和“butterfly3”,设置其图片属性为之前上传的butterfly1.png、butterfly2.png和butterfly3.png,设置宽度高度为30px;
  6. 从布局组件中拖出水平布局组件,放置于画布下,并从用户界面分组中先拖出四个标签,放置在该水平布局,分别将标签其显示文本属性设为“扑空次数:”、“0”“捕获蝴蝶只数”、“0”并将四个标签重新命名为“扑空提示”、“扑空次数”、“捕获提示”和“捕获只数”。为了美观再将一个图像放置在水平布局中并对外观进行一些小设计;
  7. 从组件面板的多媒体分组中,找到音效播放器组件,拖放俩个到预览窗口中,它们将落在“非可视组件”区域,音量为50,一个是用来设置背景音乐,所以我们上传了音乐进去,还有一个是为了抓获蝴蝶时的震动效果;
  8. 为了实现蝴蝶的造型改变,我们从组件面板的传感器分组中,找到计时器组件,拖三个放在预览窗口中,它们将自动落入预览窗口下方的“非可视组件”区域,将其计时间隔设置为400;
  9. 又为了实现蝴蝶的移动,我们从组件面板的传感器分组中,再次找到计时器组件,再拖三个放在预览窗口中,它们将自动落入预览窗口下方的“非可视组件”区域,将其计时间隔设置为1000;
  10. 为了用来提示玩家胜利,我们从用户界面找到了对话框组件,拖一个放在预览窗口中,它将自动落入预览窗口下方的“非可视组件”区域,将其改名为“Victory”;

该组件设计图如下:

                                                                                                                                                   

  1. 对失败结束页面进行设计:
  1. 美化屏幕:首先对开始页面设置背景图片defeat.jpg;
  2. 在从组件面板的用户界面分组中,拖入按钮组件,将文本设置为重新开始,并对其外观进行相应小设计;

该组件设计图如下:

  1. 设置好了组件设计后,我们要进行逻辑设计:
  1. 首先对开始页面进行设计:
  1. 当屏幕初始化,需要调动背景音乐开始:

  1. 当开始游戏按钮被点击,应该出现游戏界面:

     逻辑设计总图:

          

  1. 再对游戏页面进行设计:
  1. 以精灵1中的蝴蝶为例,对蝴蝶造型进行改变,使它移动时具有动态感:

1先设置一个全局变量索引为1,再初始化全局变量蝴蝶造型为同一个蝴蝶四个不同方向的图像(这里需运用列表):

2运用计时器1,对于数范围从一到四增加,每次增加1,执行butterfly1的图片为选择列表“蝴蝶造型”中的索引值为为全局变量“索引”的列表项。设置全局变量索引每次循环加一,为放置出错:当全局变量>4时,全局变量索引为1:

  1. 以精灵1中的蝴蝶为例,使蝴蝶可以自由移动:这里同样运用了计时器,使butterfly1速度为15,设置butterfly方向为随机整数1到360:

  1. 记录成绩

1 当画布1被触摸时,根据是否触碰到精灵记录成绩;

2 若碰到精灵,捕获只数次数标签的显示文本改为“捕获只数标签的显示文本+1”

3 若没有碰到精灵,扑空次数标签的显示文本改为“扑空次数标签的显示文本+1

4 若扑空次数文本>=3,打开结束页面Screen3

5若捕获只数文本>=10,则调用对话框“Victory”,显示标题为“Victory!”,信息为“你已胜利,是否继续抓蝴蝶”,按钮1文本为“YES”,按钮2文本为“NO”,允许撤销为真:

  1. 抓蝴蝶震动效果:

1 当蝴蝶被触摸时,让音效播放器产生振动效果;

2 可在组件设计中设置音量,在逻辑设计中设置震动毫秒数

  1. 设置重新开始按钮:当重新开始按钮被点击,设置捕获只数标签文本为“0”并设置扑空次数标签文本为“0”:

    游戏总的逻辑设计图如下:

  1. 对失败页面进行设计
  1. 当按钮1(重新开始)被点击,应该出现游戏界面:

  • 程序代码(核心功能模块代码介绍)
    1. 蝴蝶的造型改变:

1先设置一个全局变量索引为1,再初始化全局变量蝴蝶造型为同一个蝴蝶四个不同方向的图像(这里需运用列表):

2运用计时器1,对于数范围从一到四增加,每次增加1,执行butterfly1的图片为选择列表“蝴蝶造型”中的索引值为为全局变量“索引”的列表项。设置全局变量索引每次循环加一,为放置出错:当全局变量>4时,全局变量索引为1:

    1. 蝴蝶的自由移动:

1以精灵1中的蝴蝶为例,使蝴蝶可以自由移动:这里同样运用了计时器,使butterfly1速度为15,设置butterfly方向为随机整数1到360:

    1. 关于计分问题,以及胜利失败时出现会出现的情况

1 当画布1被触摸时,根据是否触碰到精灵记录成绩;

2 若碰到精灵,捕获只数次数标签的显示文本改为“捕获只数标签的显示文本+1

3 若没有碰到精灵,扑空次数标签的显示文本改为“扑空次数标签的显示文本+1

4 若扑空次数文本>=3,打开结束页面Screen3

5若捕获只数文本>=10,则调用对话框“Victory”,显示标题为“Victory!”,信息为“你已胜利,是否继续抓蝴蝶”,按钮1文本为“YES”,按钮2文本为“NO”,允许撤销为真:

  • 程序测试(程序运行截屏及介绍)
    1. 关于开始界面,界面以简约为主,会伴随着轻音乐伴奏,当点击按钮即可去游戏界面:

    1. 来到游戏界面,你会看见三只蝴蝶翩翩起舞,由于蝴蝶造型改变与蝴蝶的移动会让人感到蝴蝶的动态美:

    1. 试玩游戏,你会发现,当捉到蝴蝶时,你的捕获只数会增加,当扑空时,扑空次数会增加,当你想归零时,按重新开始按钮即可归零:

    1. 根据游戏界面的规则提示,你会发现当抓到十只蝴蝶时即可胜利,这时会弹出一个对话框,向你庆祝,并询问你是否还要继续抓蝴蝶:

    1. 若是扑空次数达到三次,你会发现你来到了结束页面,在结束页面上会有重新开始按钮你可以点击它重新返回页面:

  • 说明文档

本游戏灵感来源于打地鼠游戏,是对它的一个改良与升级,它可以更加动态拟真的进行移动,让人感到更逼真,可以利用这个游戏进行平时的休闲放松。

  • 38
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值