有这样一个经常出现的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
}
点击浏览该文件
//转帖请标明出处,切勿用与商用
//要考试了,写的有点仓促,不足的地方请原谅
//菜鸟学习,高手指导
共有 0 位网友发表了评论,得分 0 分,平均 0 分 查看完整评论