Scratch 3.6角色碰到边缘反弹方向再讨论
2023-05-31 23:31:32
引言
在Scratch中角色的移动是按一定方向移动的,所以方向在角色的移动中很重要,特别是在绘制一些几何图案的时候,不仅要考虑好移动距离,还必须确定好移动方向。 下图给出Scratch 3.X中精灵的方向规定。
Scratch积木“碰到边缘就反弹”
Scratch的基本积木模块“碰到边缘就反弹”,其反弹遵循物理学上光线的反射规律,即“入射角等于反射角”(入射方向与法线夹角为入射角;反射方向与法线夹角为反射角)。参考下图:
为了下面讨论方便,我们特别定义一个概念,即精灵的方向角。
【定义】沿原点向精灵的中心点作射线,则此射线与Y轴正方向的夹角,称为“精灵的方向角”。这个角度与角色的方向角之间有如下关系: 当角色碰到的是上下边缘反弹后, 如果角色的当前方向角为a=30,150,-30,-150,则其方向角为150,30,-150,-30。规律:符号相同,且和为180。 当角色碰到的是左右边缘反弹后,其方向角为-a。 如果角色的当前方向角为a=30,150,-30,-150,则其方向角为-30,-150,30,150。 利用上面规律,在程序中如果让角色碰到某角色或颜色后反弹时,其反弹后的方向可用上面的办法确定,从而使我们的程序中的反弹效果更符合实际情况。
微信扫码关注
抖音扫码关注