物理学,除了让你考试拿学分之外,其实是有很大的实用价值的,现在,就让我们来研究一下物理学在flash中的应用:)
运动,是动画的必要元素,作为矢量动画的flash当然也不例外。
而力学,则是研究物体运动的科学,适当的运用把力学知识在你的flash动画中,会给你的动画带来意想不到的特殊效果或者让你的作品更加精致。 让我们先来复习一下力学知识,速度这个概念我向大家都知道,它是物体每单位时间运动的位移,要模拟匀速的运动是非常简单的,每桢给mc加上固定的位移就可以了,匀速运动的物理公式是
S = Vt
S是位移,V是速度,它是一个矢量,t是时间。在flash动画中,每桢之间会有固定的时间间隔,所以,这个公式可以用每桢加上固定的位移来代替。写成这样:
这段代码的功能是让mc sprite沿着30度的方像以每桢10像素的速度运动。当然这是最简单的运动方式,实际生活中是没有这样完美的匀速运动的,物体在运动中都会受到各种力的影响,比如说摩擦力、空气阻力、重力等等,而在力的作用下,物体表现为加速度运动,只要受力总和不为0,则物体的速度就会每时每刻都不一样,这样的运动,就已经比较接近实际的了。
//第一桢的action,计算x、y方向的单位位移
angle = 30*Math.PI/180;
// 运动方向和水平线之间的角度,需要转换成弧度,这个例子是角度30度,转换成弧度的公式是 a*Math.PI/180
v = 10; // 速度的大小
xstep = v*Math.cos (angle); // 计算x方向的位移量
ystep = v*Math.sin (angle); // y方向的位移量
//上面的代码只需要在初始化的时候计算一次
//第二桢
sprite._x += xstep; // 计算新的x坐标
sprite._y += ystep; // 计算新的y坐标
//上面的代码则需要每桢执行,需要放在循环的桢action里面
//第三桢
gotoandplay(2);
和加速运动相关的物理公式有
V=at
V仍然是速度,t是时间,新加入的a则是加速度,它是每单位时间速度的变化量,她也是一个矢量。那么a是如何计算的呢?请看下面的公式:
a = F/M
加速度公式,F是物体的受力总和,M是物体的质量,同样,F也是一个矢量。把这些元素加入到刚才的代码中,则修改这些代码如下:
//第一桢的action,计算加速度
angle = -60*Math.PI/180; // 受力方向和水平线之间的角度,需要转换成弧度,这个例子是角度30度,转换成弧度的公式是 a*Math.PI/180
F = 10; // 受力的大小
vangle = 60*Math.PI/180; // 初始角度
v = 10; // 速度的大小
m = 20; // 物体质量
ax = F*Math.cos (angle)/M
ay = F*Math.sin (angle)/m //x,y方向的加速度
vx = v*Math.cos (vangle); // 计算x方向的位移量
vy = v*Math.sin (vangle); // y方向的位移量
//上面的代码只需要在初始化的时候计算一次
//第二桢
vx += ax;
vy += ay;
sprite._x += vx; // 计算新的x坐标
sprite._y += vy; // 计算新的y坐标
//上面的代码则需要每桢执行,需要放在循环的桢action里面//第三桢
gotoandplay(2);
我们可以看到,mc在舞台上划出一道抛物线。大家可以自己试验改变上面的速度质量受力和方向等参数,就可以看到mc的不同运动方式。转 载:http://www.qqread.com/flash/2006/10/s224763.html进入讨论组讨论。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Flash中百叶窗效果的实现 (39016次浏览)
- Flash文字特效:雪落樱花舞 (16782次浏览)
- 用flash制作模拟胶片循环播放效果 (13073次浏览)
- FLASH 8.0制作燃烧的香烟 (12538次浏览)
- 我的世界杯:滚动足球动画制作 (624次浏览)
- 攻防结合!谈Flash的破解与加密大战 (591次浏览)
- Flash遮罩特效之百叶窗效果 (583次浏览)
- FLASH 5 教程 — flash5基础知识 (566次浏览)
- 随心所欲 玩转Flash视频——FLV (566次浏览)
- Flash教程 制作模糊遮罩效果细析 (510次浏览)



