Flash AS3.0教程:物理基础之重力
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-07
自由落体运动是只受到重力作用的运动,物体开始时是静止的,速度为0,然后受到重力的作用,速度不断加快,而实现竖直向下的加速运动。 效果演示: 实现自由落体运动,需定义速度和加速度: //变量gra表示重力产生的加速度 var gra:Number = 5; //变量vy是初始速度 var vy:Number = 0; //然后使用重力改变速度的公式 vy += gra; //通过速度改变物体的位置 mc.y += vy; 完整的代码: var gra:Number = 5; var vy:Number = 0; mc.addEventListener(Event.ENTER_FRAME,test); function test(e:Event):void { vy += gra; mc.y += vy; } 测试上面的代码,看到物体刚开始静止,然后速度不断加快,实现了自由落体运动。但这个运动并不真实,当物体掉到地面时,给它一个反弹力,看起来就会真实一些。 如果物体的纵坐标大于等于stage.stagHeight - mc.height/2时,就相当于碰到了地面,地面会给物体反弹力。由于反弹力是竖直向上的,可用负值来表示。 加入反弹力的代码: var gra:Number = 5; var vy:Number = 0; //反弹力是反弹加速度 var bounce:Number = -0.7; mc.addEventListener(Event.ENTER_FRAME,test); function test(e:Event):void { vy += gra; mc.y += vy; //如果mc的底部超出舞台的下边界 if (mc.y >= stage.stageHeight - mc.height / 2) { //使mc位于地面上 mc.y = stage.stageHeight - mc.height / 2) //速度加上反弹加速度 vy *= bounce; } } 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 在Flash中实现合并图层下一篇: FLASH教程:播放mp3的另一种方法
关于Flash AS3.0教程:物理基础之重力的所有评论