学习目标
§ 解释: 怎样让一个角色指向另一个角色。
§ 探索: 怎样执行一段代码直到指定的条件为真时停止。
§ 探索:1. 碰到指定的颜色时,角色怎样响应;2. 怎样设计满足特定条件才运行的代码
课程准备
课程内容
§ 为Giga创建代码,使她也具备和Pico一样的行走的能力(不停行走,遇到舞台边缘就反弹)。可以通过复制代码的方式实现。
§ 点击Giga让其开始行走,然后往代码区拖入point towards...指令,让这个指令与代码区其他指令处于断开状态。
§ 打开point towards...指令的下拉列表, 选择Tera并点击该指令。在Giga行走过程中,尝试改变point towards...指令让其指向Nano或Pico并点击该指令。
§ 把point towards...指令连接到代码段中forever指令的上方(连接时确保是指向Tera),观察Giga到达Tera时发生什么现象。
如果我们希望Giga遇到Tera时可以停下来——而不是一直走过去。
§ 使用repeat until...指令取代forever指令。现在我们需要一个可以检测Giga是否到达Tera的指令,即repeat until...指令的条件。
§ 从Sensing指令组拖入一个touching...?指令到代码区,并使其与其他代码处于断开状态。从这个指令的下拉列表中选择Tera并点击这个指令——这个指令总是会说true或false。
§ 把touching Tera?指令添加到repeat until...里并测试这段代码, 现在Giga在到达Tera时应该可以停下来。
Pico在舞台上行走
§ 基于以上的代码,选择Pico为舞台角色,在when this sprite clicked指令下方加入 point in direction…指令,并使用pick random...to...指令设置其方向值。这意味着Pico将沿一个随机的方向行走并在碰到边缘时反弹(不是水平方向)。
我们希望Pico永远在舞台上行走,但在遇到特定颜色时返回。
§在Sensing指令组下往代码区空白处拖入touching color...?指令,激活其颜色选择器。
§用颜色选择器选择舞台上某个希望Pico碰到之后就返回的颜色,此后,当Pico接触到指定的颜色,touching color...?指令就可以起到条件检测的作用。
§为了测试touching color...?指令的作用,可以把Pico拖到到舞台上不同的颜色区域,并点击该指令查看该指令何时显示true,何时显示false。
至此已经可以通过指定条件来识别特定的颜色,下面的步骤添加指令以响应指定条件为true的情况。
§从Control指令组拖入if then…指令到代码区的空白区域,并在其中加入touching color...?指令作为条件,再加入turn right 180 degrees指令到该if指令内。
§当Pico还在行走时点击if then…指令,观察发生的现象。此时可再加入forever指令以包含该if代码块,那么上述条件将被反复检测。
§尝试改变Tero的跳跃行为,使其跳至高处然后缓慢降落直至到达舞台上某个指定的颜色。
注意
当我们点击某个条件指令时,它总是会报告true或false
讨论
1. 如果把point towards Tera指令移动到repeat until...指令的内部,会发生什么?
2. 我们学过哪三种不同的repeat指令?
练习
设计故事情节,让Giga在遇到不同的角色时有不同的表情或者特效。
领取专属 10元无门槛券
私享最新 技术干货