WEB开发网
开发学院图形图像Flash Flash 中的物理运动知识 阅读

Flash 中的物理运动知识

 2007-01-28 10:59:48 来源:WEB开发网   
核心提示: 下面,我们再变通一下,Flash 中的物理运动知识(2),在物理中有一个概念叫合速度,也就是x轴和y轴方向上的合速度,我们定义为speed;那么在x轴方向上的速度应为:vx=Math.cos(radians)*speed;在y轴上的速度应为vy=Math.sin(radians)*spee

下面,我们再变通一下,在物理中有一个概念叫合速度,也就是x轴和y轴方向上的合速度。下面我们就来看一下,你可能已经知道了我在说什么。下面来看一下代码:最好你能在看下面代码之前自已写出来。

代码:

vx=5;
vy=5;
onEnterFrame=function(){
  my_mc._x+=vx;
  my_mc._y+=vy;
}

演示发现它已经沿着x,y合速度的方向移动了。是不是觉得很容易?这里我用的vx,vy都是5,也就是说合速度的方向是45度,当然你可以让vx,vy为不同的值,会有不同的速度也会沿不同的方向移动,如果反向,自然设置vx,vy为负值即可。

上面的学习如果你认为很容易,那下面这段相信对你也不会有问题,刚才我们说到当设置vx,vy都相同时,它是以45度的合速度方向运动的。虽然设置不同的值可以代表不同的方向。但这种方法很不科学。我们可以动用我们的数学知识,来让物体按我们指定的特定的角度移动。这里需要复习一下我们的数学知识。

(1)弧度:弧度=角度*PI/180;

(2)角度:角度=弧度*180/PI;

如果以指定的角度运动。那么这时的速度累加相当于沿着半径的方向。最终目的点是到达沿着半径方向的某一点。由于是合速度,我们需要定义一个统一个合速度以方便我们将x和y 轴上的速度分解出来为vx,vy。我们定义为speed;

那么在x轴方向上的速度应为:

vx=Math.cos(radians)*speed;

在y轴上的速度应为

vy=Math.sin(radians)*speed;

代码:

speed=10;
angle=15;
radians=angle*Math.PI/180;
onEnterFrame=function(){
  vx=Math.cos(radians)*speed;
  vy=Math.sin(radians)*speed;
  my_mc._x+=vx;
  my_mc._y+=vy;
}

通过演示你已经发现小球已经沿着15度的方向移动了。这样angle相当是一个接口参数,你可以任意的对小球的方向进行控制。

上一页  1 2 3 4 5 6 7  下一页

Tags:Flash 物理 运动

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接