FLASH中的物理世界(4)
作者 佚名技术
来源 服务器技术
浏览
发布时间 2012-07-14
七:摩擦运动: 有这样一个经常出现的Flash鼠标特效: 点击浏览该FLASH文件: 分析图片: 此主题相关图片如下: 新建一个MC,绑定代码: onClipEvent(load){ _x=0; _y=0; speed=10; } onClipEvent(enterFrame){ x=_root._xmouse; //获得鼠标的x轴的位置,并且附值给变量“x” y=_root._ymouse; _x+=(x-_x)/speed; //把鼠标和MC的距离分成“十等份”,当(x-_x)的值不点更新时(换句话说:MC越来越接近鼠标时),就出先带摩擦的运动效果,速度逐渐下降 _y+=(y-_y)/speed; } 其实这个不难理解,如果一时想不明白的话,就多想想就会明白的^_^ //原文件: 点击浏览该文件 八:运动中的缓冲://实用 先看效果: 点击浏览该FLASH文件: 原理分析如下 : 此主题相关图片如下: 当我们将这个物体从A移到B时,会产生一个加速度,并且依次产生一个速度,产生的速度会改变物体运动方向,使其回到原来位置(A)。然而,当它回到初始位置时,又没有作用力去让它停下来,因此它会继续沿BA方向朝C移动(过头了)。这时,弹簧又会产生一个加速度让物体回到它的初始位置(A),所以再没有阻碍力的情况下,物体将在其初始位置左右不停的摆动(也就是简谐运动)????弹簧反作用力是由弹性系数“k”决定的。假设在一个无摩擦的理想状态中,这根弹簧是永远的伸缩摆动下去的(也就是简谐运动), 所以,,这里我们再引入一个阻碍常量“c”。就可以让它慢慢的停下来 公式:p=k*(p1-_p)+c*p; k*(x1-x)//胡克定理的应用 c*xp//用让小球慢满停下来的摩擦方法 onClipEvent (load){ _x = 0; _y = 0; k= 0.4;//摩擦系数 c =0.7;//阻碍常量 //k,c两个常量是不是固定的,你可以根据自己的需要更改它的值 } onClipEvent (enterFrame) { x1=_root._xmouse;//把鼠标位置附给变量x1 y1=_root._ymouse; xp = ((x1-_x)*k)+(xp*c); yp = ((y1-_y)*k)+(yp*c);//见上面的解释 this._x+= xp; this._y+=yp;//this._y = this._y+yp } 点击浏览该文件 //转帖请标明出处,切勿用与商用 //要考试了,写的有点仓促,不足的地方请原谅 //菜鸟学习,高手指导 关键词: |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 一个很简单的放大效果下一篇: 一个屏幕保护程序
关于FLASH中的物理世界(4)的所有评论