浏览百度站长平台的时候看到这个问题,在scratch如何让角色围绕另一个角色旋转。在scratch中,角色之间并不存在固定的联系,但我们可以通过一些全局变量来联系它们。从而完成类似围绕角色旋转这样的效果。
因为是旋转动作,所以作为旋转体的角色的角度是一直规律变化的,依次从1增加到360度,周而复始,我们可以给这个行为一个重复执行的积木,在这个角度变化的同时,我们还需要设置旋转体的位置,这个位置是相对于主体的,根据旋转半径与当前的角度,我们可以利用函数分别计算出旋转体相对于主体的x,y距离;
x轴上的相对距离可以用“cos(角度)*旋转半径”得到,y轴上的相对距离则可以用“sin(角度)*旋转半径”得到,计算出了相对距离,分别与主体当前的x坐标,y坐标相加,就是旋转体该周期内应该处在的位置;
做了一个实例,小猫角色重复执行一个动作,将自己的当前坐标赋值给全局变量catX与catY。实际测试中增加了一个随机移动的动作,旋转体能很好的跟随角色旋转;
用自带的苹果角色作为了旋转体,因为每次增加1度感觉有点儿慢,改成了以5度的间隔增加。为了避免角度累加过大,在角度等于360度的时候,利用判断积木块重新将角度设置为5,重新从5开始循环。
附实例文件供下载参考:
Scratch让角色围绕另一个角色旋转
帮大忙了感谢