河马捡球
准备工作
- 添加1个河马角色,1个小球角色。
- 添加《Hay Field》背景。
编程实现
河马把天上的球带回地面。
具体要求
- 点击绿旗,小球从舞台上消失,河马位于舞台下方。
- 当按下空格键后,小球出现在背景的天空范围内的随机位置(见下图)。
- 小球出现后,河马一边拍打着翅膀一边向小球飞过去,然后再拍打着翅膀把小球带回起点位置。带回过程中,小球要始终处于河马的嘴部并且处于河马图层的上方(见下图)
- 当河马把小球带回原处后,小球消失,河马停止拍打翅膀(见下图)
- 再次按下空格键,能重复功能2,3,4的过程,并且小球每次出现的位置都不同
评判标准
- 10分:符合具体要求1,即点击绿旗,小球消失。
- 30分:在10分基础上,符合具体要求2,即当按下空格键小球出现在天空中的随机位置
- 50分:在30分基础上,符合具体要求3和4,即小球出现后,河马可以拍打着翅膀飞行到小球位置,然后把小球带回起始位置,小球始终在最上方,回到初始位置后,小球消失,河马停止拍打翅膀。
- 60分:在50分基础上,符合具体要求5,即再次按下空格键可循环运行。
题目分析
本题要实现的效果:
- 按下空格键,小球移到指定区域的随机位置,然后河马去小球,找到小球之后,河马和小球一起回到出发点。
- 河马拍打翅膀和移动应该是同步运行,要使用多线程的方法。
- 另外,要注意河马和小球之间的互动,灵活使用广播。
具体步骤
点击绿球开始
- 初始化河马的位置
- 将小球移到最前面并隐藏起来
点击空格
- 河马:当空格被点击,发送广播《开始捡球》
开始捡球
- 小球:当接收到《开始捡球》,移动到随机位置并显示
- 河马:当接收到《开始捡球》,切换造型拍动翅膀
- 河马:当接收到《开始捡球》,移动到小球位置,然后广播《捡到球了》
捡到球了
- 小球:当接收到《捡到球了》,跟随河马移动。
注意:为了能让小球在河马的嘴部位置,可以在造型中适当地调整河马中心位置,设置河马的中心在嘴部。
- 河马:当接收到《捡到球了》,回到原来位置,广播《回到原位》,停止拍动翅膀
回到原位
- 小球:当接收到《回到原位》,停止小球的其它脚本,并隐藏。
完整程序
- 河马
- 小球