saratch编程小课堂:《重力弹球》。
大家好,今天来模拟重力下的小球掉落。
·先来添加一个背景和小球,将小球移动到屏幕中间最上方,这里要注意不要让小球碰到顶端,坐标可以设置为0,140。
·然后通过重复执行将y坐标增加-10的方法来让小球掉落。这时候会发现小球始终是以相同的速度掉落,把这种速度相同并且一条直线称为匀速直线运动。但现实生活中小球速度会越来越快,能够变化的数值称之为变量,建立一个变量叫做速度,让y坐标每次增加速度的数值。
·程序开始的时候将速度设为0,每次y坐标增加就将速度增加-1。看一下效果,小球下落的时候速度会越来越快,和现实的情况很相似。
·接下来让小球在落到地面之后可以弹起,加一个如果,如果小球碰到舞台边缘,当将y坐标增大的时候小球就会向上运动,所以当小球碰到舞台边缘将速度变成一个正数,可以将速度成-1,小球就可以反过来向上弹起。
·打完看一下效果,小球落到地面会再次高高弹起,并且弹起的速度会越来越慢,到最上面之后变成0,然后再慢慢落下来。现实生活中小球弹起的高度会越来越低,可以让小球在碰到舞台边缘的时候速度成-0.7,这样初始的速度会降低一些,会很快到达0的速度,然后向下落。
·再来试一下,会发现小球到达最下边之后会不停地抖动,这时候没有办法让它停下来,所以这里可以加上一个如果,否则如果下落的速度很快(有足够的能量再次弹起),给它设置一个反弹,将速度变为反向的速度,否则向下的速度很慢,直接设为0,停止程序就可以了。
这样重力弹球就完成了。
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved