霸气大师王ScratchMaths编程第32课:Tera和Pico

学习目标

§ 探索:怎样改变角色的y位置以上下移动角色。

§ 探索:1.怎样切换角色的造型以实现动画;2. 怎样让一段代码永久运行。

§ 解释:怎样确保角色的运动不超出舞台的范围。

§ 解释:怎样用不同的速度移动角色。

§ 与数学推理的拓展(三个概念的异同):永远、有时,永远不

课程准备

课程内容

下面的操作将从Tera开始,我们为他开发特异功能:在舞台上被点击的时候,他能跳得很高,然后又回到他出发的位置。

§ 打开项目文件,选择Tera,在指令区找到change y by...指令,改变指令的值并点击指令。

§ 开始在代码区构建代码使Tera有跳跃的能力。拖入一个change y by...指令,并设置指令值使Tera跳跃到指定的高度(比如100)。再拖入一个change y by...指令,注意不要将新拖入的指令连接到上一个指令。设置这个新拖入的指令的值,使得Tera可以回到他开始跳跃的位置。尝试单独点击这两个指令。

§ 把这两个change y by...指令连接起来并点击他们,看看发生了什么现象。为什么会发生这个现象呢?

§ 在两个change y by...指令之间插入一个wait 1 secs指令并再次执行这段代码,看看发生了什么现象。

§ 拖入一个 when this sprite clicked指令到上述代码段的上面,让它们连接在一起,点击舞台上的角色Tera以测试这段代码。

下面的操作可以使Tera的跳跃动作更优雅——就好像是飘在空中。

§ 拖入一个repeat指令围住第二个change y by...指令,让Tera降落得更慢,但是仍然能回到原地。比如改变change y by...指令的值为-5并重复20次;或者值为-2并重复50次。

§ 也可以让Tera往上跳的动作更优雅,但不是像降落的过程一样慢。再添加一个repeat指令围住第一个change y by...指令并为这两个指令设置正确的值。

§ 可以在跳跃及降落的过程中改变Tera的造型。

下面的操作将从Pico开始,我们为他开发特异功能:在舞台上行走,而且不超出舞台的区域 。

§ 选择Pico,并在Costumes标签下查看Pico的造型,依次点击这些造型看看怎样可以让Pico有动画的效果。

§ 拖入一个next costume指令到代码区(不要与其他指令连接),重复点击这个指令并观察舞台上Pico的变化。

§ 拖入一个repeat指令围住next costume指令,为repeat指令设置一个值,比如100。

§ 在repeat指令里添加一个move指令并给它设置一个比较小的值,比如1或2,以让Pico可以移动。点击代码并观察Pico的变化。也可以再往repeat指令内拖入一个wait指令,并设置其值为很短的时间,比如0.1或0.2秒。再拖入一个when this sprite clicked指令到本段代码顶部并连接起来。

§ 多次点击舞台上的Pico,观察当Pico碰到舞台边缘时会发生什么。然后添加if on edge, bounce指令到repeat内,并用forever指令取代repeat指令。

§ 尝试给move和wait指令设置不同的值,以让他走得更快或更慢。

注意

1. 不要把change y by...指令和set y to...指令混淆。

2. 如果Tera起跳的位置太高(超过了舞台的上方),他实际上能跳跃的高度可能达不到设置的高度。

3.在Pico移动过程中,可以通过点击舞台右上方小绿旗旁边的红色按钮停止代码的执行。

练习与思考

1. forever和repeat的区别是什么?

2. 为什么不能再forever指令后面连接其他指令?

3. Pico走到舞台边缘并反弹之后会指向什么方向?

作业

总结目前学习过的所有指令,并归纳功能类似的指令的异同点。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181018G1NAQ600?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券