设为首页收藏本站
开启辅助访问
关闭窗口

简单4步,开始与 沙洋社区网 对话吧!

1. 打开你的微信,点击“发现”   2. 点击“扫一扫”对准上面的二维码
3. 扫描后出现详细资料选择关注就好了   4. 现在开始与我们的官方微信对话吧!

沙洋社区网

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1967|回复: 0

[电脑学堂] Scratch编程基础课第十讲:碰到边缘反弹

[复制链接]
  • TA的每日心情
    开心
    2016-10-18 08:01
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2019-11-29 10:36 | 显示全部楼层 |阅读模式

    欢迎注册,加入沙洋社区—我们的网上家园!

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    Scratch编程基础课第十讲:碰到边缘反弹
    上节课我们使用“重复”指令模块让小猫移动时,当小猫移动到舞台边缘时,小猫将停滞不动的,这时我们想让小猫转个方向来回移动,我们一般运用“运动”类型下的“碰到边缘就反弹”指令模块。
    Scratch的指令模块“碰到边缘反弹”,其反弹时遵循光线的反射规律--反射角等于入射角。反射角度与角色的方向角之间有如下关系:如果角色的当前方向角为α,当角色碰到的是上下水平边缘反弹后,其方向角为180α;当角色碰到的是左右水平边缘反弹后,其方向角为。利用这个规律,在程序中如果要角色碰到某角色或颜色后反弹时,其反弹后的方向就可以用上面的办法确实,从而使我们的程序中的反弹效果更符合实际情况。
    这时我们在脚本程序中加入“碰到边缘就反弹”指令模块,来实现小猫来回的走动。
    图片37.png
    当我们单击绿旗运行脚本时发现,当小猫运动碰到边缘反弹回来后,图像变成倒立的了,这是什么原因呢?这是因为小猫的旋转方式为“任意旋转”,这时我们可以将角色“小猫”的旋转方式属性改变为“左右翻转”即可,一般我们会在脚本中利用“将旋转方式设为……”指令模块来改变角色的旋转方式。
    图片38.png
    我们也可以利用反射定律来实现:当角色碰到的是左右水平边缘反弹后,其反射方向角为。我们先用“侦测”中的“碰到舞台边缘”来检测角色是否碰到了边缘,再利用“控制”类型下的“如果……那么”指令模块来确定角色碰到边缘时(条件为真,也可以用是的,对的来理解)就执行那么后面的模块让角色反向,没碰到边缘时什么也不做。我们利用“运动”中的“方向”变量取出角色面向的方向,最后利用“运算”中的“相减”求其相反数。
    图片39.png

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    QQ|广告报价|手机APP|小黑屋|手机版|Archiver|沙洋社区网 ( 鄂ICP备08000945 )  

    鄂公网安备 42082202000010号网络经济主体信息

    GMT+8, 2020-10-30 17:44 , Processed in 0.066384 second(s), 21 queries , Memcache On.

    Powered by Discuz! X3.2 technical support:NVbing5

    © 2001-2013 Comsenz Inc. Acknowledgement:changhelang.com edition:hsmhx3 1.5

    快速回复 返回顶部 返回列表