小朋友这周的表现还算不错。周末多数时间都由我陪(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. Js 中那些 隐式转换

    曾经看到过这样一个代码:  (!(~+[])+{})[--[~+""][+[]]*[~+[]]+~~!+[]]+({}+[])[[~!+[]*~+[]]] = sb , 你敢相信, ...

  2. django中安装pillow ValueError: zlib is required unless explicitly disabled using --disable-zlib, aborting

    在windows系统上,使用  pip install pillow安装pillow时 报错 在使用 easy_install Pillow 方式安装成功,默认是最高版本 如果需要在安装时,指定安装版 ...

  3. centos7 安装 mysql(在线安装)

    在CentOS中默认安装有MariaDB,这个是MySQL的分支,但为了需要,还是要在系统中安装MySQL,而且安装完成之后可以直接覆盖掉MariaDB. 1 下载并安装MySQL官方的 Yum Re ...

  4. BitmapDrawable

    对Bitmap的一种封装,可以设置它包装的bitmap在BitmapDrawable区域中的绘制方式,有: 平铺填充,拉伸填或保持图片原始大小!以<bitmap>为根节点! 可选属性如下: ...

  5. Visual Studio Code 上java开发环境搭建

    在把一些开源的SDK中java代码转成C#代码时经常需要写点java代码来实验下功能,装个Eclipse或IDEAs吧,好像也不太值当,所以用vs code搭个环境偶尔来实验下.以下: 1.下载并装好 ...

  6. [Bayes] Maximum Likelihood estimates for text classification

    Naïve Bayes Classifier. We will use, specifically, the Bernoulli-Dirichlet model for text classifica ...

  7. nginx虚拟主机添加

    1. 进入 /usr/local/nginx/conf/vhost 目录, 创建虚拟主机配置文件 wbs.test.com.conf ({域名}.conf). 2.打开配置文件, 添加服务如下: lo ...

  8. 将SSRF升级为RCE(AWS环境)

    原文:https://generaleg0x01.com/2019/03/10/escalating-ssrf-to-rce/ 查找域名范围: 在枚举客户端的子域名时.找到了子域名[docs] 打开这 ...

  9. Django学习参考资料

    0. HTTP协议简介http://www.cnblogs.com/maple-shaw/articles/9060408.html 1. 路由系统https://www.cnblogs.com/ma ...

  10. GCE 部署 ELK 7.1可视化分析 nginx

    目录 一.准备 1.1.服务器环境准备 二.安装 ES 2.1.遇到小问题 三.安装 Kibana 四.安装 Logstash 一.准备 我这边有一个网站放在了 Google VM 上面,所以打算在购 ...