【Scratch】简单的“鱼缸”,让你理清编程“对象”关系。

网友投稿 2019-05-05 10:17

更多课程和内容,点击上面微信号关注我哟!

学会STEM怎么“”,或许才是真正的意义。

更多学习内容,关注公众号后,通过菜单获取。

https://cdn.china-scratch.com/timg/190507/101FC104-0.jpg

第200篇文章


老丁的课程

经过上周的课程,想必大家已经大概了解Scratch的玩法啦。

是的,STEAM的学习很多时候要靠方法来学,而不是死记硬背。

学会方法后就需要通过一个个案例的练习,可以是老丁给的,也可以是自己想的,也可以是外面偶尔看到的。这样一步步,就能锻炼出编程思维。

编程思维,接单说,就是分析和解决问题的步骤。

计算机不会去帮你思考如何解决问题,它只能做到:

提出问题(人提出的)并思考解决方案,编程 —— 解决问题(人解决的)

这个过程中“——”的部分,即:替代人进行复杂的各种计算。

所以,我们要做的“编程”,其实本质就是“教会计算机如何处理问题并给出一个结果”。

换句话说,要学会做老师,手把手的指导一个“傻子”做事情……

这话一点都不夸张哈!~

今天,我们主要就讲跟“对象”有关的操作。

告诉这个“傻子”怎么达到我们想要的结果。


课题:简易鱼缸

先要分析一下这个作品的相关需求

1、背景:要是一个水的环境,用来模拟金鱼缸的环境。

2、鱼(3~4):多要放几条,能够自由移动。并且不会跑到“缸”外面。

不难吧~

经过分析,我们可以看到,这里面有4~5个对象

对象一:背景

对象其他:鱼

所以,首先做这个程序的时候,我们可以先把对象都添加进去。

右下角这两个按钮,可以分别添加“角色”和“背景”

https://cdn.china-scratch.com/timg/190507/101FA238-1.jpg 

我们点击进入后,挑选自己想要的角色即可哦。

https://cdn.china-scratch.com/timg/190507/101FM336-2.jpg

先添加一个背景和四条鱼吧。

https://cdn.china-scratch.com/timg/190507/101FJ505-3.jpg

现在的鱼都是一样的对不对?

这里,要注意,我们指的一个“对象”是指针对一个完整的对象,而不能理解为针对了某一个造型。

举个例子,我们的电视剧里面有男主角。

男主角就是一个“对象”,也就是一个人物。而人物本身可以是由多个人饰演的,比如童年、少年、青年、中年、老年。

很明显,这个“对象”的造型可以是多样的。并且在不同的时候,可以切换这个造型。比如:男主角到了老年,回想起童年时候的记忆。这个时候,画面就会从老年变为这个对象的童年。

放到编程里面去理解,就是:

在一些条件下,“对象”可以自由的切换其造型和其他的各种设置。

所以,我们点击任何一个“角色”,再进入“角色造型”卡片里面,就可以对这个角色进行一些造型上的修改。(以后,也可以让程序自动来切换设定好的造型哦!)

https://cdn.china-scratch.com/timg/190507/101FK923-4.jpg

重复这些步骤,就可以把鱼变成不同的造型!

https://cdn.china-scratch.com/timg/190507/101FR432-5.jpg

好,我们开始正式的“代码”编程。


首先来做背景,在一个水环境下,我们的背景应该有个音效嘛,咕噜咕噜冒气泡吧!

选中“背景”(注意,我们要对任何一个“对象”编程,都要先选中这个对象!这是小朋友们经常忘掉的事情……不然你对谁编程啊?!)

如果我们需要添加一个音效,可以选中背景后点“声音卡片”。这里,你可以找到各种声音,当然,你也可以录制上传一些自己想要的音乐或音效。

https://cdn.china-scratch.com/timg/190507/101FR419-6.jpg

进入代码编写,我们首先要设定出程序的启动键。由于一个水环境里面,冒泡泡的声音肯定是没有固定规律的,所以,我们要让它随机发声~

老丁给的都是参考,大家可以自行在左侧的代码卡片里面去寻找相应的代码进行尝试。

https://cdn.china-scratch.com/timg/190507/101F95T1-7.jpg

让这个背景音重复执行,每次随机等待1~3秒。这样一个水环境的背景音效就完成了!

接下来,我们来对“鱼”们,进行编程。

鱼嘛,当然是随机游动的。而且它们的游动速度可能是不同的,方向可能是不同的,也不能游出鱼缸……

那么,其实上面蓝字这些,就是我们对鱼的初步要求啦,对么?

所以,我们还是先选中其中的一条鱼。

设置跟“背景”一样的开始条件(如果有不一样的要求,可以自己设定成不一样的哦!)

https://cdn.china-scratch.com/timg/190507/101Fa918-8.jpg

首先重复执行,移动一个步数。

这里的步数,其实代表了鱼游的速度,你可以自己设置,数值越高,游的越快。

一直这样游,当然是会游出鱼缸(舞台)的!

所以,我们可以设定一个“布尔运算”的判断流程:

https://cdn.china-scratch.com/timg/190507/101F93116-9.jpg

当“碰到舞台边缘”那么……干嘛?

那么当然是反弹咯!反弹,就是指,方向相反。

那如果,我们要个随机的方向继续游呢?

可以加入一个随机的方向,让它在碰到“鱼缸”边缘时,自己重新找个方向去游。

https://cdn.china-scratch.com/timg/190507/101F9A23-10.jpg

这样,就不会看上去,呆若木鱼了……

好了,这样,一条鱼就搞定了,我们可以把串代码复制给其他的鱼。然后重新设定一下速度就可以了!

当然,你还可以通过一些参数的变化,优化一下这个鱼缸小程序。


今天这节课,主要是针对“对象”操作的练习和理解。

“对象”关系,再结合上面两节课的“理解”和“代码分类”,你会发现,编程很容易是不是?发现没?

其实编程的真相就是:让谁……干嘛……

哈哈哈,但也别小瞧它。。

同样是做一个鱼缸,我们可以做的很细腻!编程的难度也就会随之上升。这个,在后面的课程中,我们慢慢体会一下吧!

点击“阅读原文”可以获得本程序,用scratch打开即可。别忘了先顺手点个赞哦!提取码:panz


思考题:

好像让鱼游来游去,并且碰到鱼缸反弹,再随机设定一个方向就可以做到这件事了,为什么要加入判断流程呢?如下图:

https://cdn.china-scratch.com/timg/190507/101F92G0-11.jpg

自己动手尝试一下,再思考思考为什么吧!

--end--

声明:本文章由网友投稿作为教育分享用途,如有侵权原作者可通过邮件及时和我们联系删除:freemanzk@qq.com