小朋友这周的表现还算不错。周末多数时间都由我陪(bi)着(zhe)做课本上的数学题,后来还学了英语。任重道远啊,语数外都还得加强,还远不到自己就能取得好成绩的阶段。

上周说好这周要做一个发射炮弹的游戏。最后在周日晚上八点学习完英语以后才开始。

目的

目的:设置一艘宇宙飞船或其他角色,实现上下左右移动。每按一次空格键即发射一枚炮弹,同时播放声音,炮弹往屏幕上方飞,直到飞出屏幕。发射子弹、炸弹是很常见的游戏功能。

实现方式

宇宙飞船角色的上下左右移动是比较简单的。我们在接球运动中已经学过了。只需要不停循环,检测是否有按键按下。如果左箭头按下,X轴就减少10;如果右箭头按下,X轴就增加10;如果上箭头按下,Y轴就增加10;如果下箭头按下,Y轴就减少10。对于这个步骤,小孩表示理解。

这是我们第一次使用发射炮弹的功能。首先要找到一个炮弹的图,可以选择球类或者其他物品, 最后我们选择了一个闪电,但要将闪电转一下,让尖尖的头朝上。

Scratch提供了克隆角色的功能,这是一个强大的功能,就是克隆出另外一个副本出来。克隆体启动时,可以执行单独的脚本,即相当于一个子函数,控制这个炮弹克隆体。每按一次按钮,炮弹就克隆复制自己。然后炮弹往屏幕上放飞行就比较简单了,就是向上移动一定的位置,或者Y轴增加一定的距离。不停循环即可往上飞行。

逐步改进

制作程序的过程,是一个不断测试改进的过程。我们在制作过程中,发现了一些问题,并且逐步解决了。

1.    宇宙飞船的范围确定。 如果不设置范围,那么左右上下会移出屏幕。因此我们后来增加了一个判断,即只有在X轴大于-220时,才继续往左移动,否则就不往左移动了。Y轴类似。这样通过四个箭头的移动,保证宇宙飞船一直都不会超出屏幕,同时上方保留一定的空间。

2.    克隆体一直往上飞行,到顶部以后,炸弹会停留在那边,留下一个尾巴。我们增加了判断。如果碰到边缘,就“删除克隆体”,这样克隆体碰到边缘后就消失了。

3.    播放声音:每次发射炸弹后,系统会播放声音。播放声音不能直接在循环中做,因为那样会做完以后才能继续发射下一个炮弹,影响效果。因此广播一个消息,然后在消息中播放音乐。最后我们选择了一个敲打低音鼓的声音,这样发射炸弹以后,就发出类似爆炸的声音了。

少儿编程-Scratch

·       少儿编程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第三讲:宇宙大战.枪战游戏的更多相关文章

  1. 少儿编程Scratch第四讲:射击游戏的制作,克隆的奥秘

    上周的宇宙大战射击游戏中,我们只完成了宇宙飞船发射子弹的部分.还未制作敌对方.这周制作了敌方-飞龙,飞龙随机在屏幕上方出现,如果被子弹打中,则得分,飞龙和子弹都消失. 敌方:飞龙:计分. 目的 目的: ...

  2. 少儿编程|Scratch编程教程系列合集,总有一款适合你

    如果觉得资源不错,友情转发,贵在分享!!! 少儿编程Scratch: 少儿编程Scratch第一讲:Scratch完美的初体验少儿编程Scratch第二讲:奇妙的接球小游戏少儿编程Scratch第三讲 ...

  3. 少儿编程Scratch第一讲:Scratch完美的初体验

    素材及视频下载 链接:https://pan.baidu.com/s/1qX0T2B_zczcLaCCpiRrsnA提取码:xfp8 都说未来是人工智能.计算机程式控制的时代,如何让青少年接触计算机编 ...

  4. (三)宇宙大战 Space Battle -- 场景SCENE切换、UserDefaults统计分数、Particle粒子效果

    此<宇宙大战 Space Battle>SpirteKit手机游戏教程共分为三系列: (一)宇宙大战 Space Battle -- 新建场景Scene.精灵节点.Particle粒子及背 ...

  5. iOS宇宙大战游戏、调试工具、各种动画、AR相册、相机图片编辑等源码

    iOS精选源码 日期时间选择器,swift Space Battle 宇宙大战 SpriteKit游戏源码 LLDebugTool - 便捷的IOS调试工具(新增截屏功能) 相机扫描or长按识别二维码 ...

  6. 使用Scratch进行少儿编程

    在上一篇<初识少儿编程>曾提到过Scratch的脚本标签内包含10大模块,本文将围绕这10大模块展开,分为两部分:积木和编程概念,结合<动手玩转Scratch2.0编程―STEAM创 ...

  7. scratch少儿编程第一季——09、声音模块:吹拉弹唱我也会

    各位小伙伴大家好: 上期我们学习了外观模块的指令,学会了制作特效. 本期我们来学习如何给游戏配音. 声音模块的指令不是很多,我们一起来看看吧. 首先第一个就是播放声音,里面默认插入了喵叫声. 我们点击 ...

  8. 少儿编程 | 01.Scratch 3.0简介

    欢迎参加这套Scratch3.0少儿编程课程的学习.本系列课程将通过视频和图文的方式进行(视频制作中,后续会发布).如果喜欢本系列课程,欢迎点击订阅关注或者转发. 这是本系列课程的第一课,主要是给家长 ...

  9. Scratch少儿编程系列:(十)系列总结及后续计划

    一.系列文章的来由 本篇为该系列文章的一个简单总结, 从初次接触Scratch开始,在写本系列文章过程中,一边读书,一边通过例子做练习. 技术实现,对于我跟人来说,没有什么难度. 我相信,对于一个初次 ...

随机推荐

  1. javaEE项目部署方式

    1.手动部署 2.自动化部署 “自动化”的具体体现:向版本库提交新的代码后,应运服务器上自动部署

  2. 黑马vue---46、vue使用过渡类名实现动画

    黑马vue---46.vue使用过渡类名实现动画 一.总结 一句话总结: vue动画的过渡类名的时间点中没有设置样式的话就是默认的样式 使用 transition 元素,把 需要被动画控制的元素,包裹 ...

  3. Flume-自定义 Interceptor(拦截器)

    使用 Flume 采集服务器本地日志,需要按照日志类型的不同,将不同种类的日志发往不同的分析系统. 在实际的开发中,一台服务器产生的日志类型可能有很多种,不同类型的日志可能需要发送到不同的分析系统. ...

  4. flutter中的异步机制 Future

    饿补一下Flutter中Http请求的异步操作. Dart是一个单线程语言,可以理解成物理线路中的串联,当其遇到有延迟的运算(比如IO操作.延时执行)时,线程中按顺序执行的运算就会阻塞,用户就会感觉到 ...

  5. Appium Desktop 元素定位和脚本录制功能

    Appium Desktop除了可以做Server之外还可以进行元素定位和脚本录制功能,点击放大镜按钮,进入页面设置.开始配置Desired Capabilities. 配置Desired Capab ...

  6. 转贴:PLSQL中 commit 和 rollback 的区别

    PLSQL中 commit 和 rollback 的区别 原文链接:https://blog.csdn.net/jerrytomcat/article/details/82250915 一. comm ...

  7. drawable,andrid 圆形图片,圆角图片

          各种drawable 小的例子,   开源中国地址:https://git.oschina.net/lyxs916/drawable-test.git               bitm ...

  8. UC浏览器打开百度显示 丰臣吉秀.网址

  9. Linux Mint设置自定义快捷键

    我使用的是 Linux Mint 19.2 Tina 先搜索键盘,把键盘的功能调出来 快捷键--->>自定义快捷键--->>添加自定义快捷键 名称可自定义(这里我定义的是“截图 ...

  10. CPU密集型、IO密集型

    CPU密集型(CPU-bound) CPU密集型也叫计算密集型,指的是系统的硬盘.内存性能相对CPU要好很多,此时,系统运作大部分的状况是CPU Loading 100%,CPU要读/写I/O(硬盘/ ...