最新消息:

Scratch编程基础课第十讲:碰到边缘反弹

Scratch 少儿编程 5546浏览 0评论
Scratch编程基础课

友情提示:视频教程观看时请手动设置清晰度。

Scratch编程基础课第讲:碰到边缘反弹

 

上节课我们使用“重复”指令模块让小猫移动时,当小猫移动到舞台边缘时,小猫将停滞不动的,这时我们想让小猫转个方向来回移动,这时我们一般运用“运动”类型下的“碰到边缘就反弹”指令模块。

Scratch的指令模块“碰到边缘反弹”,其反弹时遵循光线的反射规律--反射角等于入射角。反射角度与角色的方向角之间有如下关系:如果角色的当前方向角为α,当角色碰到的是上下水平边缘反弹后,其方向角为180α;当角色碰到的是左右水平边缘反弹后,其方向角为-α。利用这个规律,在程序中如果要角色碰到某角色或颜色后反弹时,其反弹后的方向就可以用上面的办法确实,从而使我们的程序中的反弹效果更符合实际情况。

这时我们在脚本程序中加入“碰到边缘就反弹”指令模块,来实现小猫来回的走动。

 

Scratch编程基础课第十讲:碰到边缘反弹

当我们单击绿旗运行脚本时发现,当小猫运动碰到边缘反弹回来后,图像变成倒立的了,这是什么原因呢?这是因为小猫的旋转方式为“任意旋转”,这时我们可以将角色“小猫”的旋转方式属性改变为“左右翻转”即可,一般我们会在脚本中利用“将旋转方式设为……”指令模块来改变角色的旋转方式。

 

Scratch编程基础课第十讲:碰到边缘反弹

我们也可以利用反射定律来实现:当角色碰到的是左右水平边缘反弹后,其反射方向角为-α。我们先用“侦测”中的“碰到舞台边缘”来检测角色是否碰到了边缘,再利用“控制”类型下的“如果……那么”指令模块来确定角色碰到边缘时(条件为真,也可以用是的,对的来理解)就执行那么后面的模块让角色反向,没碰到边缘时什么也不做。我们利用“运动”中的“方向”变量取出角色面向的方向,最后利用“运算”中的“相减”求其相反数。

 

Scratch编程基础课第十讲:碰到边缘反弹

转自公众号:
汉上创客

您必须 登录 才能发表评论!