少儿编程Scratch第三讲:宇宙大战.枪战游戏
小朋友这周的表现还算不错。周末多数时间都由我陪(bi)着(zhe)做课本上的数学题,后来还学了英语。任重道远啊,语数外都还得加强,还远不到自己就能取得好成绩的阶段。
上周说好这周要做一个发射炮弹的游戏。最后在周日晚上八点学习完英语以后才开始。
目的
目的:设置一艘宇宙飞船或其他角色,实现上下左右移动。每按一次空格键即发射一枚炮弹,同时播放声音,炮弹往屏幕上方飞,直到飞出屏幕。发射子弹、炸弹是很常见的游戏功能。

实现方式
宇宙飞船角色的上下左右移动是比较简单的。我们在接球运动中已经学过了。只需要不停循环,检测是否有按键按下。如果左箭头按下,X轴就减少10;如果右箭头按下,X轴就增加10;如果上箭头按下,Y轴就增加10;如果下箭头按下,Y轴就减少10。对于这个步骤,小孩表示理解。
这是我们第一次使用发射炮弹的功能。首先要找到一个炮弹的图,可以选择球类或者其他物品, 最后我们选择了一个闪电,但要将闪电转一下,让尖尖的头朝上。
Scratch提供了克隆角色的功能,这是一个强大的功能,就是克隆出另外一个副本出来。克隆体启动时,可以执行单独的脚本,即相当于一个子函数,控制这个炮弹克隆体。每按一次按钮,炮弹就克隆复制自己。然后炮弹往屏幕上放飞行就比较简单了,就是向上移动一定的位置,或者Y轴增加一定的距离。不停循环即可往上飞行。
逐步改进
制作程序的过程,是一个不断测试改进的过程。我们在制作过程中,发现了一些问题,并且逐步解决了。
1. 宇宙飞船的范围确定。 如果不设置范围,那么左右上下会移出屏幕。因此我们后来增加了一个判断,即只有在X轴大于-220时,才继续往左移动,否则就不往左移动了。Y轴类似。这样通过四个箭头的移动,保证宇宙飞船一直都不会超出屏幕,同时上方保留一定的空间。
2. 克隆体一直往上飞行,到顶部以后,炸弹会停留在那边,留下一个尾巴。我们增加了判断。如果碰到边缘,就“删除克隆体”,这样克隆体碰到边缘后就消失了。
3. 播放声音:每次发射炸弹后,系统会播放声音。播放声音不能直接在循环中做,因为那样会做完以后才能继续发射下一个炮弹,影响效果。因此广播一个消息,然后在消息中播放音乐。最后我们选择了一个敲打低音鼓的声音,这样发射炸弹以后,就发出类似爆炸的声音了。
· 少儿编程Scratch第二讲:奇妙的接球小游戏(2018.01)
· Scratch第一讲:Scratch完美的初体验(2018.01)
制作步骤
第一步:飞船角色上下左右移动。
1. 加入宇宙飞船角色;选择星空背景。
2. 造型中,将飞船大小调小一点;设置飞船的中央点为中心。
3. 设置开始事件
4. 直接重复执行,无限循环
5. 加判断,然后使用侦测 “按键 左移键是否按下”,那么X坐标增加-11。即飞船向左边移动。
6. 后来我们增加了一个判断。如果X坐标大于-220,才将X坐标增加-11,否则就不增加。即到达左边框以后,飞船不会继续往左边移动,保持在屏幕范围内。
7. 向右,向下和向上,方法类似。
游戏做出来后,小小朋友要来玩。结果她一直都按住箭头,飞船会超出屏幕。为了解决这个问题,我们就增加了边框的判断。


–飞船:上下左右移动–
第二步:克隆炸弹
8. 加入闪电角色。
9. 造型中,将闪电调小一点;设置飞船的中央点为中心。然后转动了一下。
10. 设置开始事件
11. 直接重复执行,无限循环
12. 每个循环,都将子弹 “移动”到“飞船”。因为飞船是移动的,所以发射炸弹时,要从飞船位置上发射出来。
13. 增加如果那么的判断,检测空格按键是否被按下。
14. 如果空格键被按下,那么就克隆自己。(这里可以克隆其他角色-例如飞船)。
15. 然后设置:控制>克隆体启动时。执行这个克隆体的脚本。
a. 首先,外观>隐藏自己。 (开始的时候,我们是没有增加隐藏、显示的步骤的。这样炸弹就在飞船上面能够看见。)
b. 然后选择:运动>面向0°方向,即朝上。这里可以改变方向,例如向右发射炸弹等。(可以选择不同的方向,测试效果)
c. 然后外观>显示自己。
d. 重复执行;移动8步。炸弹即往上飞行。(可以改变移动的速度。)
e. 增加判断,如果碰到边缘,那么,删除克隆体。(如果不删除,就留一个尾巴在屏幕上方。)
16. 增加声音:
a. 克隆自己以后,广播消息1;
b. 当收到消息1时
1)演奏乐器设置为18-鼓
2)弹奏鼓声2, 长度为0.25节拍。(要使用广播,否则飞船发射炸弹就要等待声音播放,导致不连续。)


-炸弹:克隆自己、克隆后移动、广播播放声音。
后续改进
1. 打算在上方随机出现另外一个角色,例如鬼怪,鬼怪也可以克隆自己。鬼怪按照随机的方向自上往下运动。(角色随机从上往下运动,在上一球类发射的课程中已经学过)。如果鬼怪碰到子弹,鬼怪则消失,并且播放打中的音乐,最后播放一个炸弹爆炸的效果。
2. 增加计分器,每消灭一个鬼怪,就增加10分,这样可以进行游戏了。
分享地址:https://scratch.mit.edu/projects/196376484/
浏览器中需要Flash播放器。
这个游戏,并不是由小孩独自完成。是在家长指导下,由小孩点击操作完成。目的依然是培养兴趣,了解逻辑过程,了解要实现什么功能,使用什么控件,对控件如何操作。
少儿编程-Scratch
· 少儿编程Scratch第二讲:奇妙的接球小游戏(2018.01)
· Scratch第一讲:Scratch完美的初体验(2018.01)
少儿编程Scratch第三讲:宇宙大战.枪战游戏的更多相关文章
- 少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘
上周的宇宙大战射击游戏中,我们只完成了宇宙飞船发射子弹的部分.还未制作敌对方.这周制作了敌方-飞龙,飞龙随机在屏幕上方出现,如果被子弹打中,则得分,飞龙和子弹都消失. 敌方:飞龙:计分. 目的 目的: ...
- 少儿编程|Scratch编程教程系列合集,总有一款适合你
如果觉得资源不错,友情转发,贵在分享!!! 少儿编程Scratch: 少儿编程Scratch第一讲:Scratch完美的初体验少儿编程Scratch第二讲:奇妙的接球小游戏少儿编程Scratch第三讲 ...
- 少儿编程Scratch第一讲:Scratch完美的初体验
素材及视频下载 链接:https://pan.baidu.com/s/1qX0T2B_zczcLaCCpiRrsnA提取码:xfp8 都说未来是人工智能.计算机程式控制的时代,如何让青少年接触计算机编 ...
- (三)宇宙大战 Space Battle -- 场景SCENE切换、UserDefaults统计分数、Particle粒子效果
此<宇宙大战 Space Battle>SpirteKit手机游戏教程共分为三系列: (一)宇宙大战 Space Battle -- 新建场景Scene.精灵节点.Particle粒子及背 ...
- iOS宇宙大战游戏、调试工具、各种动画、AR相册、相机图片编辑等源码
iOS精选源码 日期时间选择器,swift Space Battle 宇宙大战 SpriteKit游戏源码 LLDebugTool - 便捷的IOS调试工具(新增截屏功能) 相机扫描or长按识别二维码 ...
- 使用Scratch进行少儿编程
在上一篇<初识少儿编程>曾提到过Scratch的脚本标签内包含10大模块,本文将围绕这10大模块展开,分为两部分:积木和编程概念,结合<动手玩转Scratch2.0编程―STEAM创 ...
- scratch少儿编程第一季——09、声音模块:吹拉弹唱我也会
各位小伙伴大家好: 上期我们学习了外观模块的指令,学会了制作特效. 本期我们来学习如何给游戏配音. 声音模块的指令不是很多,我们一起来看看吧. 首先第一个就是播放声音,里面默认插入了喵叫声. 我们点击 ...
- 少儿编程 | 01.Scratch 3.0简介
欢迎参加这套Scratch3.0少儿编程课程的学习.本系列课程将通过视频和图文的方式进行(视频制作中,后续会发布).如果喜欢本系列课程,欢迎点击订阅关注或者转发. 这是本系列课程的第一课,主要是给家长 ...
- Scratch少儿编程系列:(十)系列总结及后续计划
一.系列文章的来由 本篇为该系列文章的一个简单总结, 从初次接触Scratch开始,在写本系列文章过程中,一边读书,一边通过例子做练习. 技术实现,对于我跟人来说,没有什么难度. 我相信,对于一个初次 ...
随机推荐
- sublime的一些记录
{ "keys": ["tab"], "command": "reindent", "context" ...
- centos7的网络配置参考
<鸟哥的Linux私房菜>中的相关介绍和配置:http://linux.vbird.org/linux_basic/0610hardware.php 修改链接(connection)的名字 ...
- pwn学习日记Day17 《程序员的自我修养》读书笔记
静态链接章小结 本章首先学习了静态链接的第一步骤,即目标文件在被链接成最终可执行文件时,输入目标文件中的各段是如何被合并到输出文件中的,链接器如何为它们分配在输出文件中的空间和地址.一旦输入段中的最终 ...
- Linux 系统配置永久性时间同步
临时修改系统时间(reboot后系统时间恢复): date 查看系统时间 date -s "设置的系统时间" 永久性修改系统时间: date 查看系统时间 hwclock --s ...
- ArcGIS超级工具SPTOOLS-数据处理篇
1. 数据处理 1.1 两个图层按重叠度赋属性 两个面层按重合度赋属性,下图把依据赋数据属性图层,按重合度,赋值给目标.,重合度设置为负值,取面积最大的. 1.2 分区域消除 按区域字段值相同的, ...
- Winform 工程反编译后窗体如何显示
Winform反编译后,如果想要让它象正常的工程一样,可以在窗体编辑器中,编辑,需要做一些工作. 1. 转换.resources 为 .resx 利用resgen工具.这个工具是vs自带的. 在启动 ...
- BGP多线 有些BGP IP也会被极少数运营商劫持 取Ip逻辑
小结: 1.租用的服务器只有一个IP,用户的访问路线是由路由器根据访客的实际访问速度选择最优访问路径,来选择访问的.而且不占用任何的服务器资源.服务器的上行和下行都是有路由器来选择最佳的路线,所以这样 ...
- tensorflow查看ckpt各节点名称
from tensorflow.python import pywrap_tensorflowimport os checkpoint_path=os.path.join('output/res101 ...
- eNSP V100R002C00B500 Setup模拟CE6800
本人操作系统:Windows7 64 下载需要的安装包: eNSP V100R002C00B500 官网下载地址:点击这里 CE6800 官网下载地址:点击这里 USG6000V ...
- 运行React Native项目出现白屏,无法运行
运行React Native出现白屏,无法运行,查看终端报错如下: 原因: 代码中有语法错误,导致运行失败. 其实到这里可以去Xcode查看控制台打印,会提示哪个文件出现错误的. 解决办法: 找到报错 ...