自由落体运动是只受到重力作用的运动,物体开始时是静止的,速度为0,然后受到重力的作用,速度不断加快,而实现竖直向下的加速运动。
讨论: http://www.missyuan.com/viewthread.php?tid=411295
效果演示:
实现自由落体运动,需定义速度和加速度:
| //变量gra表示重力产生的加速度 var gra:Number = 5; //变量vy是初始速度 var vy:Number = 0; //然后使用重力改变速度的公式 vy += gra; //通过速度改变物体的位置 mc.y += vy; |
完整的代码:
|
var gra:Number = 5; 测试上面的代码,看到物体刚开始静止,然后速度不断加快,实现了自由落体运动。但这个运动并不真实,当物体掉到地面时,给它一个反弹力,看起来就会真实一些。 如果物体的纵坐标大于等于stage.stagHeight - mc.height/2时,就相当于碰到了地面,地面会给物体反弹力。由于反弹力是竖直向上的,可用负值来表示。 加入反弹力的代码: //反弹力是反弹加速度 //如果mc的底部超出舞台的下边界 //使mc位于地面上 //速度加上反弹加速度 |