1:匀速下坠

先来看下落,一个最简单的下落程序是这样的:

2:下坠配上加速度。

这个也不复杂,让每一次循环的时候都将下落速度增加一点,这样就有加速度的效果了。

3:碰到黑线刚好停住。

如果解决这个问题,解决的方法就是让小球再退回到黑线的上方。我们这时候并不知道小球应该退后多少步,所以只能一步步试,直到小球和黑线分离。

我们加了一段程序,如果小球碰到了黑色那么就执行一个循环,让小球回到黑线上方。
奇怪不?小球在向上后退离开黑线后为什么又掉了下来,然后在黑线上反复震动?其实在做碰撞处理的时候这是经常会出的一个bug。

我们仔细读程序,就会发现,在这个循环里的判断逻辑是这样,如果没有碰到黑线,就往下落。每一步下落的距离就是“下落速度”这个变量的值。如果碰到黑线,就往上后退,直到离开黑线。那大家有没有发现,这个逻辑其实就是个死循环。小球永远不可能停下来。

我们修改一下程序,重新把逻辑判断的位置调整一下,同时再加上一条关键语句。

逻辑判断调整成,在每一步下落时都判断是否碰到黑线,如果碰到黑线后就后退,后退完毕后又增加了一条语句,让小球再下降一步,保证小球和黑线接触上。小球再下降一步就是一个关键语句。然后大循环就终止了。大家再好好理解一下。

但是大家发现没有,这样效果还是不好,小球在返回黑线上方有个过程,我们已经没有加等待命令了,这已经是最快的方式了。但是这个过程还是让人不舒服。(有人在返回黑线上方的操作做的更复杂些,比如一次退回更多步数,比如一次退10步,如果退过了,再返回5步,这种反复趋近的操作也是一种办法。但是程序复杂不说,效果也不好)那如何解决这个问题呢?

这里教大家一种方法,用自定义命令的方式。把后退的操作用一个单独的自定义命令来做。


转自:https://www.china-scratch.com/news/5330

Scratch教学——完美的下落和反弹相关推荐

  1. Scratch第四十九讲:完美的下落和反弹

    做了很多小游戏,都会遇到碰撞和反弹的情况,CC哥大多时候也都是简单处理一下,包括之前的讲座也有提过,但是没有认真的讲解过.今天就专门为这个主题做一讲,把这部分内容彻底讲透,大家可以一起探讨一下. 是不 ...

  2. 【超详细Scratch教学课件分享】可暂停倒计时

    您好,感谢您一直对少儿编程.对"与非学堂"的关注.为了更好地为大家服务,诚邀您填写一份<关于少儿编程教与学的课件资源素材需求调查>,https://www.wjx.cn ...

  3. Scratch教学课程:不撞南墙不回头

    Hi,大家好,本次介绍Scratch的基础运用,内容如下: 使用角色制作动画并在舞台上移动 理解Scratch基本的运动.外观.条件控制等基础积木的应用. 响当当老师把本次的项目叫做:不撞南墙不回头. ...

  4. 【超详细Scratch教学课件分享】简单倒计时

    您好,感谢您一直对少儿编程.对"与非学堂"的关注.为了更好地为大家服务,诚邀您填写一份<关于少儿编程教与学的课件资源素材需求调查>,https://www.wjx.cn ...

  5. 少儿编程教育:scratch教学

    随着智能化的普及,少儿编程也有越来越多的人加入.面对这样新兴的行业,很多转行的学科类老师感觉无从下手,那么该如何了解和迅速上手呢? scratch如何教学? 少儿编程的学习主要就是:学习由麻省理工学院 ...

  6. python 机器人聊天_使用python构建您的第一个聊天机器人并将其集成到电报中

    python 机器人聊天 Did you know? 你知道吗? "Chatbots can cut operational costs by up to 30%. eCommerce ch ...

  7. 人类和机器人的区别_人类对机器人文章的回应

    人类和机器人的区别 What does GPT-3's AI-generated op-ed teach us about ourselves? The answers are in the subt ...

  8. China Daily | 技术不是拦路虎:在线音乐教学可完美还原线下场景

    随着经济与科技的迅猛发展,移动互联网不断催生出新的音乐教育模式,直播授课.音乐陪练等教学模式日渐兴起,但是在线音乐教育之路不易,技术依然是在线音乐教学发展中的难点.近日,China Daily发文&l ...

  9. 【超详细Python教学课件分享】寻宝探路

    您好,感谢您一直对少儿编程.对"与非学堂"的关注.为了更好地为大家服务,诚邀您填写一份<关于少儿编程教与学的课件资源素材需求调查>,https://www.wjx.cn ...

最新文章

  1. Python文件操作:finally子句的使用
  2. Flask框架-基本使用
  3. 下拉列表控制文本框的个数思路
  4. ios12关闭设置角标_iOS 12.4 正式推送,一键换机功能上线!
  5. BZOJ 1046: [HAOI2007]上升序列【贪心+二分状态+dp+递归】
  6. python 字符串和容器总结
  7. 中国移动IM-飞信-0802上线新版本 试用手记
  8. vue 修改对象的值视图没有发生改变_在vue中处理对象属性改变视图不更新问题? - echart...
  9. win7下安装TensorFlow
  10. 基于Spring Security的认证授权_应用详解_自定义退出_Spring Security OAuth2.0认证授权---springcloud工作笔记130
  11. 十八、K8s升级集群
  12. python破解百度云限速_python实战小项目,多线程百度云盘下载,突破限速,超越迅雷超高速下载...
  13. 原生JS实现动态表格的生成
  14. google hacking
  15. matlab画概率密度图
  16. python爬虫爬取合肥工业大学校园新闻
  17. 【redis源码】删除大key导致redis主从切换
  18. 微信企业号开发(1)--基础入门
  19. php 2个数组并集,php中数组的并集、交集和差集函数介绍_PHP教程
  20. 自行车平衡java小游戏_自行车水上平衡赛

热门文章

  1. 基于yolov5的车辆行人道路检测
  2. 博途v16冗余服务器项目类型,西门子全新博途V16-侧重于标准化和集成功能,降低工程成本...
  3. android office闪退,office反复闪退,原因不明
  4. 2021-1-13关于pyqt5的表格中编辑选择的checkbox会出现找不到所选控件wrapped C/C++ object of type QCheckBox has been deleted
  5. 计算增长率,同比写法
  6. Android 4.4代码资源115网盘下载!
  7. 中基鸿业在投资互联网理财时需要注意哪些
  8. geoserver三维_cesium结合geoserver实现地图空间查询(附源码下载)
  9. VScode 最强出装
  10. 3Dunity游戏项目实战——第一人称射击游戏