内容正文:
欢乐打地鼠
App Inventor 应用
教学目标
学生能够成功开发基本又有趣味的打地鼠APP;
学生能够基本掌握定时器、画布与图像精灵的使用 ;
学生能够理解定义过程(相当于创建函数);
学生能够理解坐标系统的定位;
学生能够设计较为复杂的行为逻辑(计算思维)。
2
教学计划
第一节课(重组件设计):
导入+展示APP效果(3min)
功能描述(2min)
组件设计(讲解知识点5min+学生实践20min)
演示巡视中发现的问题(5min)
体验模拟器(完整版打地鼠)(5min)
回顾模拟器,如何启动AI伴侣,如何模拟;
体验APP,否则这节课他们体验不到乐趣;
去思考逻辑设计,为下节课做铺垫
会发给学生一个完整的游戏aia
3
教学计划
第二节课(重逻辑设计):
承上启下(2min)
梳理逻辑设计包括三大部分:定义地鼠移动过程、游戏开始、地鼠被触碰(3min)
定义地鼠移动过程(讲解3min+学生实践7min)
游戏开始(讲解3min+学生实践7min)
地鼠被触碰(讲解3min+学生实践7min)
体验模拟器(打地鼠)(5min)
会发给学生一个只有组件设计的aia
这三个小活动的学生实践时间灵活调整,出现普遍性问题还要演示
4
1
欢乐打地鼠
假期人挤人?
不如打地鼠!
鼠鼠我啊,
又被打啦~
1
欢乐打地鼠
1
欢乐打地鼠
需求分析
设计开发
连接调试
保存发布
功能描述
组件设计
逻辑设计
App开发流程:
常见组件
组件属性
Screen
按钮
标签
音效
AI伴侣、模拟器、USB
保存项目、导出项目(.aia)、打包apk
内置模块
组件对象模块
任意组件模块
功能描述
1
功能描述
“欢乐打地鼠”APP的功能描述:
开始
点击地鼠
是否打中?
命中数+1
失败数+1
结束
True
False
组件设计
2
组件设计
按钮
标签
屏幕(screen)
对应组件:
Bang~
音效
2
组件设计
对应组件:
地鼠以一个固定频率移动(每0.5s移动一次)
计时器
2
组件设计
对应组件:
鼠鼠我属于什么组件呢?
可以移动
具有触感
可以显示地鼠图片
2
组件设计
对应组件:
鼠鼠我属于什么组件呢?
可以移动
具有触感
可以显示地鼠图片
图像精灵
2
组件设计
对应组件:
画布
2
组件设计
对应组件:
球形精灵-碰撞
2
组件设计
不再是屏幕上面堆组件而是有意识的布局!
把屏幕分成了几部分?
2
组件设计
水平布局组件:该组件中的其他组件在水平方向上从左到右水平排列,在垂直方向上的对齐方式取决于水平布局组件的属性设置。例如:
把屏幕在水平方向分为2部分
垂直布局组件:该组件与水平布局组件作用相似,其中的其他组件在 垂直方向从上到下进行排列,在水平方向上对齐方式取决于垂直布局组件的 属性设置。例如:
把屏幕在垂直方向分为5部分
2
组件设计
组件 面板组 作用 命名 属性
Screen 默认 默认屏幕,用来放置其他组件 Screen1 背景图片:grass.jpg;
图标:mole.png;
屏幕方向:锁定横屏
水平布局 界面布局 讲组件按行排列 水平布局1 宽度:布满;高度:布满
画布 绘图动画 放置动画控件 画布1 宽度:400;高度:280
图像精灵 绘图动画 表示地鼠 图像精灵_地鼠 图像:mole.png;
启用:不勾选
垂直布局 界面布局 将组件按列排序 垂直布局1 宽度:布满;高度:布满;
水平对齐:居中;
垂直对齐:居中
按钮 用户界面 响应点击事件 按钮_开始 背景颜色:粉色;形状:圆角;
文本:开始;
文本对齐:居中;
字号:18
标签 用户界面 放置提示文字:命中 标签1 文本:命中:;字号:18
标签 用户界面 显示命中数 标签_命中数 文本:0;字号:18
标签 用户界面 放置提示文字:失败: 标签3 文本:失败:;字号:18
标签 用户界面 显示失败数 标签_失败数 文本:0;字号:18
计时器 传感器 产生等时间间隔的定时事件 计时器_地鼠 启用计时:不勾选;
计时间隔:500(默认单位为毫秒)
音效 多媒体 显示地鼠被打的声音 音效1 最小间隔:500
源文件:bang.wav
2
组件设计
请大家完成组件设计后
导出项目,命名为“姓名-组件设计”
将aia文件提交到教师机
模拟器
模拟手机查看效果(模拟器连接)
①
②
③
④
21
逻辑设计
3
逻辑设计
定义地鼠移动过程
地鼠被触碰
游戏开始设计
定义地鼠移动过程
游戏开始设计
地鼠被触碰
3
逻辑设计
定义地鼠移动过程
游戏开始设计
地鼠被触碰
理解安卓中的图形定位机制。
画布可以看成由 X(水平)和 Y(垂直)坐标织成的网格。左上角的坐标是(0,0),x 坐标向右增大,y 坐标向下增大。