学习目标
§ 探索:怎样改变角色的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走到舞台边缘并反弹之后会指向什么方向?
作业
总结目前学习过的所有指令,并归纳功能类似的指令的异同点。
领取专属 10元无门槛券
私享最新 技术干货