美文网首页Scratch
Motion功能介绍

Motion功能介绍

作者: 天高云淡_fa55 | 来源:发表于2018-09-14 12:46 被阅读0次

    Motion (动作)

    Motion里面包括上面17个模块,下面我们一个一个地来解释下

    1.1 move 10 steps,就是让小猫(下面我们称之为“角色”)向右移动10,这个steps,我们可以理解为步。我们用鼠标按住这个模块,拖到右边的“脚本区”,些时注意右上角的内容,x:0, y:0

    然后,我们点击一下模块区里面的【move 10 steps】,也就是上图的左边的红框,我们会看到小猫动了一下,再看右上角的坐标,已经变成x:10了。

    PS: 解释一下“平面坐标系”,水平的是x轴,垂直的是y轴,交叉点是原点,原点右侧是x轴正值,左侧是负值;原点上方是y轴正值,下方是负值。我们可以用任意一对x,y轴的值来定位一个点,这一对值也称作坐标,比如下面的A、B、C三个点对应的坐标分别为(0,0),(100,0),(160,80)。

    试一试: 1. 如果将10改成-10,会怎么样呢?

                    2. 试试找一下坐标(-20,-40)的点在哪里?

    2. turn 15 degrees(clockwise),顺时针旋转15度(角度值可修改),下面是旋转前后的对比

    3. turn 15 degrees(counter clockwise),逆时针旋转15度(角度值可修改),下面是旋转前后的对比

    4. point to direction 90,使角色指向某个角度

    角度按上下左右分别对应0,180,-90,90,见下面的示意图,如果按顺时针还算,上右下左,对应的角度分别是0,90,180,270,-90和270是一样的效果。

    5. point towards (...)

    5.1 point towards to mouse-pointer,使角色指向鼠标的位置,如下图所示,将此指令拖到右侧脚本区后,用鼠标点击执行,此时角色就会指向此时鼠标的位置。

    5.2 point towards to Sprite1(Sprite2...),使角色指向另外的角色

    点击下图的小人头图标,会弹出一个角色库,依次从里面选择Apple, Bananas, Ball-Soccer

    添加好新角色后,point towards后面的下拉框里就有Apple, Ball-Soccer, Bananas, Sprite2选项了

    *试一试:如何添加Sprite2?(提示:可以试试上图上面红框的Duplicate工具)

    选择Apple角色,然后点击执行,小猫就转向苹果方向了,自己试一下香蕉和足球的效果吧!

    6. go to x:0 y:0,移动到指定位置

    拖动模块到脚本区,修改xy值分别为140和60,点击执行,结果如下图所示,脚本区右上角会显示出x:140, y:60的信息

    我们提前把最后3个模块说一下,x position, y position, direction,这三个分标表示x轴坐标,y轴坐标,角度。我们点击它们前面的小方框,会出现小对号标志,此时在展示区的左上角就会显示出对应的值了。

    7. go to (...)

    7.1 go to mouse-pointer,移动到鼠标所在位置

    7.2 go to random position,移动到随意一个位置,也就是不确定是哪里,电脑会随机给出一个位置

    7.3 go to Apple, 移动到苹果(或是另外一个角色)所在的位置

    这三个模块不太复杂,大家自己试一下就好了。

    8. glide 1 secs to x:0 y:0,在1秒内,滑动到指定坐标点

    这个模块和No.6 go to x:0 y:0类似,只不过这个会有一个动画效果。可以把这两个模块放到一起对比着看一下,你会发现点击“第二步”时,小猫会缓缓地移动到新位置,而点击“第一步”时,小猫一下子就回到原点了。

    9. change x by 10, 使角色的x坐标增加10(指定值)

    每执行一次,角色的x轴坐标会在原来的基础上加10,也就是向右移动10

    10. set x to 0,将角色的x坐标设置为0(指定值)

    11. change y by 10, 使角色的y坐标增加10(指定值)

    每执行一次,角色的y轴坐标会在原来的基础上加10,也就是向上移动10

    12. set y to 0,将角色的y坐标设置为0(指定值)

    13. if on edge, bounce,碰到边缘就反弹

    这个需要提前使用一个Control里的模块,选择forever模块,然后把move 10 steps和if on edge, bounce两个模块按顺序拖动到forever里面,如下图

    然后点击模块执行,当小猫碰到右边或是左边的边框时,就是反弹回来了,小猫动起来了,是不是很开心呀!但是现在小猫碰到右边反弹之后头朝下了,是不是觉得怪怪的?先别着急,下面的模块就能改正这个问题了。

    14. set rotation style(...)

    14.1 set rotation style left-right,设置旋转方向为左右反转

    14.2 set rotation style don't rotate,设置旋转方向为不反转

    14.3 set rotation style all around,设置旋转方向为上下左右都反转

    将此模块拖动到forever上面,当设置为“left-right"时,小猫能正常行走了;设置成“don't rotate”时,小猫碰到边缘后会回退回来;设置成“all around”时,小猫就会头朝下走回来了。

    *修改角色的旋转方向,还可以在角色的属性里操作,见下图

    在红框位置右击,在弹出的选项里选择“info”,或者直接点击角色左上角的蓝色小i 标志

    找到rotation style标签,右边对应的3个图标分别为:all around, left-right, don't ratate。可以把角色的rotation style设置为中间的left-right,再把上面脚本里的第一步set rotation style left-right去掉,效果也是一样的。

    相关文章

      网友评论

        本文标题:Motion功能介绍

        本文链接:https://www.haomeiwen.com/subject/mphogftx.html