初级篇——小狗追星星2

【疑惑篇】

小狗追星星基础上,固定星星和小狗只能横向移动。

视频演示open in new window

亲自操作open in new window

想一想: 可以有几种方式实现?如何改为固定纵向移动?

【线索篇】

案例分析

它们发生的场景是什么?

pX1JmR

每个场景中有哪些角色?

5GKD5D

zfSZco

每个场景中的每个角色在做什么?

小狗

  1. 点击绿旗按钮,朝向星星移动(左右移动)。
  2. 跟随星星的位置改变,朝向星星的新位置移动(左右移动)。
  3. 重复第2步。

星星

  1. 点击绿旗按钮,移动到鼠标的位置(左右移动)。
  2. 鼠标位置改变,移动到鼠标的新位置(左右移动)。
  3. 重复第2步。

积木提示

当绿旗被点击

移动(10)步

面向([鼠标指针])

重复执行

将旋转方式设为[左右翻转]

将y坐标设为(0)

移到x:(0) y:(0)

鼠标的x坐标

注意事项

  1. 左右移动时y坐标保持不变

【解决篇】

这个案例是在上一个案例基础上实现,功能并不复杂,只是对星星和小狗的移动范围进行了限制。

同样你还是可以新建一个项目,把之前的内容重新做一遍。或者直接打开之前做好的项目进行修改。

修改之前,你需要思考的第一个问题是,这里案例和上个案例的区别是什么?

在这个案例中星星还是可以跟着鼠标移动,小狗还是跟着星星移动。区别是,上个案例中星星和小狗可以在整个舞台移动,这个案例中它们只能横向移动。

现在你需要考虑的第二个问题就是,只能横向移动意味着什么?

别忘了,角色能在舞台上移动,都是因为角色的属性坐标值发生了改变。现在你需要观察一下,角色只能横向移动时,坐标值的变化有什么规律?

改变x坐标会让角色左右移动,改变y坐标会让角色上下移动。所以现在你需要做的事情就很简单了,让星星和小狗的y坐标固定不变,只去修改它们的x坐标就可以了。

首先,就来修改星星角色。

如果你在上个案例中使用的是移到([随机位置])积木让星星跟随鼠标移动,在这个积木中你无法控制星星的y坐标值,应该怎么处理呢?

还记不记得我说过,指令是按照顺序执行,并且运行的速度非常快,快到角色使用多个移动积木时,你可能看不见前面几个积木的移动过程。

现在你的问题是,需要固定角色的y坐标,但是却无法在移到([随机位置])积木中固定它。有没有想到,可以让星星移到鼠标指针位置后,在利用另外一个积木,让它的y坐标变成固定值。

这时你就可以在移到([随机位置])积木后面增加一个将y坐标设为(0)积木,它的参数就是星星在天上的y坐标值,例如130。

因为指令执行的速度很快,星星每次会先移动到鼠标位置,接着迅速将自己的y坐标设为130,你从舞台上看见的效果,就像是它的y坐标一直保持不变。

点击绿旗按钮,当你在舞台上移动鼠标时,星星只会在天上左右移动。

如果你在上个案例中使用的是移到x:(0) y:(0)积木、鼠标的x坐标积木和鼠标的y坐标积木,应该如何处理?

是不是很简单了。在这里你可以直接控制星星移动的x坐标和y坐标,你只要让它x坐标值保持不变,y坐标设置为固定值130就可以了。

当然你也可以像前面一样,保持原有积木不变,在移到x:(0) y:(0)积木下面再增加一个将y坐标设为(0)积木。不过这样就重复修改了两次y坐标,不推荐使用。

处理完了星星,接下来该处理小狗了。

小狗与星星有一个区别,为了看见小狗的移动过程,你可能在上一个案例中使用了滑动积木。这时会有两种情况,第一种使用了在(1)秒内滑行到([随机位置])积木。

移到([随机位置])积木积木类似,这个积木中你无法固定小狗移动的y坐标值。如果你还是跟之前一样,在它的后面加一个将y坐标设为(0)积木,将它的参数设置舞台下方的-130。点击绿旗按钮你会发现,小狗还是会在整个舞台追着星星跑,1秒以后再瞬间移动到舞台下方,无法达到我们想要的效果。

因为滑行积木的目标位置(在这里是星星的位置)确定后,在设置的积木运行时间(在这里是1秒)范围内,你都无法修改角色的移动轨迹。角色只能沿着一条直线,从当前位置滑行到目标位置。

第二种情况,你使用的是在(1)秒内滑行到x:(0) y:(0) 积木,怎么处理呢?

只用像之前一样,将滑行的y坐标固定为舞台下方的-130就可以了。小狗会左右移动追逐星星,只是会出现与上个案例同样的问题,滑行速度有快有慢,以及不能随时跟着星星的位置滑动。

最后,再来看看采用移动(10)步积木这种方式应该如何修改?

这种情况就跟上面星星的处理类似。因为移动(10)步积木的执行速度非常快,你只需要在它移动之后,利用将y坐标设为(0)积木固定它的y坐标就可以了。

这个案例可以让你更清晰的认识到,如何通过控制坐标值来影响角色的移动。在完成案例后,你还可以将角色只能横向移动改为角色只能上下移动,看看自己能不能完成它。

想看更多学习案例,欢迎点击查看《Scratch 3学习手册》open in new window

想要获取所有案例源码和素材,以及获得我对你在学习中所遇问题的一对一解答,欢迎加入石头解忧杂货店

Last Updated:
Contributors: lanheixingkong