scratch编程小技巧合集之三:角色的运动

scratch中可以编程的对象有角色和舞台,而可以进行运动编程的只有角色,舞台不可以运动。

角色的运动分为四类:平移、旋转、翻转和反弹。而这四种运动与三维坐标轴有关,下边详细介绍一下相关知识。

一、scratch坐标系

1、二维坐标系

用来研究平面运动的坐标系是二维平面直角坐标系,用x轴和y轴表示。x轴表示左右方向,y轴表示上下方向,如图1所示。x轴和y轴相交的点叫原点,用O表示,原点也是x轴和y轴的0点。x轴在原点向右为正半轴,表示的x坐标为正,x轴原点向左为负半轴,表示x坐标为负。y轴在原点向上为正半轴,表示的y坐标为正,y轴原点向下为负半轴,表示y坐标为负。

图1  平面直角坐标系

2、scratch坐标系

scratch的舞台就是二维平面的,所以用到的坐标系也是二维的。其原点在舞台的中心,x轴的坐标范围为-240到240,y轴的坐标范围为-180到180。scratch坐标的单位是像素,舞台区域大小为360*480像素,如图2所示。

图2  scratch平面直角坐标系

3、角色的中心点

当在角色列表区选中一个角色后,右上角会显示该角色的坐标值,如图3所示。

图3  角色的中心点

注意,角色的坐标值是其中心点的坐标值。而角色的中心点,不一定是其几何中心点,而是这个角色的造型在画布里边的中心点。选中一个角色,切换到造型页面,如图4所示。

图4  造型页面

此时,角色造型把画布的中心点给遮住了,选中造型的头部,向上移动,中心点就显露出来了,如图5所示。

图5  造型的中心点

二、平移

1、平移的规律

平移就是指物体在运动的过程中,在每一时刻物体上的所有点运动的方向和速度都是一样的,所有点移动的轨迹都是平行的。如图所示,矩形在一瞬间从ABCD移动到A'B'C'D',点A、B、C、D分别移动到A'、B'、C'、D',轨迹AA'//BB'//CC'//DD',如图6所示。

图6  平移轨迹示意图

2、scratch中与平移相关的积木

scratch中与平移相关的积木包括以下11种,如图7所示。注意,角色在平移过程中,其中心点也是移动的。

图7  平移相关模块

三、旋转

1、旋转的规律

旋转就是指物体在运动的过程中,在每一时刻物体上的所有点都在围绕一个中心点做圆周运动,每个点与中心点的距离不发生变化,只是相对方向发生了变化。以中心点为圆心,做一簇同心圆,覆盖住物体,那么物体上在同一条半径上的点,运动方向是相同的,在同一圆弧上的点运动大小是相同的。如图所示,矩形以O点为中心,在一瞬间从ABCD转动到A'B'C'D',点A、B、C、D分别移动到A'、B'、C'、D',轨迹AA'、BB'、CC'、DD'都是圆弧,如图8所示。

图8  旋转轨迹示意图

2、scratch中的方向

scratch中方向的规定为:向上为0°,向右为90°,向下为180°,向左为270°,如图9-1~9-4所示。 

图9-2  90°方向
图9-1  0°方向
图9-3  180°方向
图9-4  270°方向

3、scratch中与旋转相关的积木

scratch中与平移相关的积木包括以下6种,如图10所示。其中模块“将旋转方式设为”的选项选择“任意旋转”,角色旋转的角度由程序设定的角度值或者方向值来确定。如果程序中不添加设定旋转方式这个模块,默认的旋转方式就是任意旋转。注意,角色在旋转过程中,其中心点是不动的,物体除中心点外都是围绕中心点在做圆周运动。

图10  旋转相关模块

四、翻转

1、翻转的规律

翻转,也叫镜像。翻转前后的物体,是一对轴对称物体。在二维平面内翻转有左右翻转和上下翻转,如图11所示。翻转的本质也是一种旋转,只不过这种旋转不是围绕一个中心旋转,而是围绕一根轴旋转,物体不是做的二维平面运动,而是做的三维空间运动。左右翻转是物体围绕平行y轴的一根轴线做180°旋转,上下翻转是物体围绕平行x轴的一根轴线做180°旋转。

图11  左右翻转和上下翻转

2、scratch中与翻转相关的积木

scratch中与平移相关的积木包括以下6种,如图12所示。要想实现左右翻转的效果,必须添加“将旋转方式设为”这个模块,而且其选项必须选择“左右翻转”。

注意:(1)左右翻转是以造型的方向为准。如果造型角色面向左或者右时,使用“左右翻转”模块可以实现左右翻转,而角色面向上或下时,使用“左右翻转”模块实现的就是上下翻转。在翻转过程中,其中心点也是不动的。(2)旋转模式选择“左右翻转”后,角色每旋转达到180°时则左右翻转一次。如果旋转的角度不足180°时,则不发生翻转,旋转角度大于180°,小于360°时,则发生一次左右翻转,大于360°,小于540°时发生两次翻转。

图12  翻转相关模块

3、旋转180°和左右翻转的区别

无论是180°旋转还是左右翻转,角色都需要进行180的旋转,那么二者有什么区别呢?

旋转180°的程序如图13所示,效果如图14所示,旋转前小猫头朝上,面向由,旋转后头朝下,面向左。

图13  旋转180°程序
图14  旋转180°效果

左右翻转的程序如图15所示,效果如图16所示,翻转前小猫头朝上,面向右,翻转后头朝上,面向左。

图15  左右翻转程序
图16  左右翻转效果

五、反弹

1、反弹的规律

scratch中的反弹,是指角色碰到舞台边缘进行反弹,这个反弹实际就是旋转和翻转的特殊情况,当旋转方式选择的是“任意旋转”,那么碰到边缘反弹后,实际进行的是180°旋转;如果旋转方式选择的是“左右翻转”,那么碰到边缘反弹后,实际进行的是左右翻转;如果如果旋转方式选择的是“不可旋转”,那么碰到边缘反弹后,角色没有进行任何旋转和翻转的动作,只是运动的方向发生了180°翻转。

2、scratch中与反弹相关的积木

与反弹相关的积木包括“碰到边缘就反弹”和“将旋转方式设为”两个,如图17所示,以及平移运动的模块。

图17  反弹相关模块

3、反弹的三种形式

如果旋转方式为“任意旋转”,程序如图18所示,反弹的效果如图19所示。

图18  任意旋转的反弹程序
图19  任意旋转的反弹效果

如果旋转方式为“左右翻转”,程序如图20所示,反弹的效果如图21所示。

图20  左右翻转的反弹程序

图21  任意旋转的反弹效果

如果旋转方式为“不可旋转”,程序如图所示,反弹的效果如图所示。

图22  不可旋转的反弹程序
图22  不可旋转的反弹效果

(全文结束)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值