极客小将

您现在的位置是:首页 » scratch编程资讯

资讯内容

Scratch: 太阳系 II

极客小将2020-11-20-
这是「天叔奇谈」的第 057 篇文章,今天周三(2019/11/13),主题 scratch,我们今天继续完善上周的太阳系。 课堂回顾 我们先回顾了一下上次做的内容:地球绕太阳转,月球绕地球转。我本来打算在白板上画一个太阳系讲解,结果小宝说

这是「天叔奇谈」的第 057 篇文章,今天周三(2019/11/13),主题 scratch,我们今天继续完善上周的太阳系。

课堂回顾

我们先回顾了一下上次做的内容:地球绕太阳转,月球绕地球转。我本来打算在白板上画一个太阳系讲解,结果小宝说她来画 — 她比我考虑的周到,还整了小行星带:

upload/article/images/2020-11-20/54d83ec7138d8002b101fdd1b4d09a71.jpg

上次的代码做得比较糙,我们今天主要想做以下修改:

  • 重复的代码使用 my block 封装。my block 是 scratch 类似自定义函数的功能,之前我们简单使用过,这次想通过做九大行星的公转深入教一下;

  • 之前的变量定义有一些变量如 ex/ey,mx/my 意义不大,可以删除;

  • 公转轨道需要改成椭圆的。

我给小宝又重温了一下 Make a block 的内容:

upload/article/images/2020-11-20/4e544f53f8335cb67685a5e8a6ffab0c.jpg

随后发现了一个问题:block 只能在当前 sprite 使用,没法跨 sprite。我简单查了一下 scratch 的文档,真的是此路不通。囧。学艺不精,让娃笑话了。

原计划的九大行星泡汤了,那就加一个行星吧 — 小宝说要 Jupiter。我们 google 了 junpiter 找了个透明背景的 png,就用上了。小宝照着之前的公式把 Jupiter 折腾利索后,我教她把代码化简,删除了没有必要的变量。之后,我们又探索了一下如何把圆变成椭圆 — 我教她把 y 轴压缩成原来的 2/3。

做完之后,小宝不满意这个「游戏」没有互动,就想加一个宇航员,我给她 google 了一个卖相不错的。她把宇航员加入到 sprite 里后,设置了用键盘可以控制宇航员的移动。后来觉得这样互动还是很枯燥,问我能不能让宇航员一开始被地球吸引着运动,如果在地球和太阳内部,就跟着地球运动,如果从地球往外跑,就脱离地球的引力?我教她用不等式 x^2+(3y/2)^2<="" p="">

upload/article/images/2020-11-20/bc8b2234a916d703358971a0317d2ecc.jpg

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

网友点评

共有5条评论来说两句吧...

在线客服