Scratch玩游戏:后羿射日

这一次我们设计一个射击小游戏《后羿射日》。操作鼠标控制箭的方向,按下键盘上的“F”键,发射箭。当键击中太阳时,太阳落地。如果太阳都被射中落地,提示空发射箭。后羿射太阳,射掉一个太阳,天气就会凉快一点儿。注意太阳被射下来是加速落地的。体验重力加速度。

【知识技能】

条件判断指令的应用。

循环控制指令的应用。

侦测指令的应用。

数字和逻辑运算指令的应用。

新建变量及其应用。

广播与接收的应用。

外观指令的综合应用。

效果如下:

下面来看一下编写的过程。

1.变量

太阳数量:用来记录天空中太阳的数量。

在手上:适用于角色箭的变量,记录在后羿手上的箭的数量;

Y速度:适用于角色太阳的变量,记录太阳掉落的速度;

2.背景

这里选择两张图片作为背景,它们会在游戏不同的状态下切换显示。

背景有两段脚本,当绿色旗帜被点击时,设置背景虚像特效值为100,播放开场音乐,换成背景1,虚像特效值是100时,我们还是看不到背景的,所以,在代码中重复执行100次,每次将虚像特效值减去1,使得背景逐渐的在屏幕中显示出来。

然后按下空格键,换成山的背景,广播“开始游戏”。

当接收到广播“开始游戏”时,将变量“太阳数量”设为10,将亮度特效设为40(亮度数值越大就越亮,到100背景就全白),应用亮度特效,实现每射掉一个太阳,天气会凉快一点,天色会暗一点的效果。重复执行以下代码,当太阳数量

大于0时,将亮度特效设为太阳的数量乘于4,否则亮度特效为-100,背景全黑。

3.角色

这个游戏共有12个角色,后羿、箭、10个太阳。下面来依次介绍。

第1个角色:后羿

当点击绿色旗帜,角色隐藏。

当接收到广播“开始游戏”,说两段话。

当接收到广播“开始游戏”,显示角色,重复执行以下脚本,如果按下f键,广播“射箭”,如果太阳数量大于0,将角色的亮度特效设为太阳的数量乘于4,否则亮度特效为-100,角色全黑。

当接收到广播“少了一个太阳”,如果太阳数量大于0,说:“射死一个太阳了,哈”2秒,否则,说:“我擦,搞错了,没有太阳了,呜呜呜呜”5秒。

第2个角色:箭

当点击绿色旗帜,角色隐藏。

当接收到广播“开始游戏”,将变量“在手上”设为1,角色箭移到最前面,显示角色,重复执行以下代码,如果“在手上”等于1,那么,将箭移到后羿的手上(后羿的x坐标+36,后羿的y坐标-35),然后让角色随着鼠标方向转动,如果太阳数量大于0,将角色的亮度特效设为太阳的数量乘于4,否则亮度特效为-100,角色全黑。

当接收到“射箭”广播,将“在手上”设为0,播放声音“射箭声小”,角色随着鼠标方向转动,重复执行“移动20步”直到角色碰到舞台边缘,隐藏角色。

然后等待1秒,箭立即回到后羿的手中并显示。

第3个角色:太阳1

当点击绿色旗帜,角色隐藏。

当接收到广播”开始游戏“,显示角色,将“Y速度”设为0,初始化太阳位置,换成造型1(微笑造型),重复执行以下脚本,如果角色碰到箭,广播消息“少了一个太阳”,将太阳数量增加-1,换成造型2(难过造型),重复执行以下脚本,将变量“Y速度”增加-1,将y坐标增加“Y速度”的数值,这里是模拟自由落体的效果。

然后,隐藏角色,并停止当前的脚本。

其他9个太阳的脚本和第1个太阳一样,除了初始化位置,这里就不再赘述了。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容