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相当是一个接口参数,你可以任意的对小球的方向进行控制。
- ››FLASH不等于运算符!=的使用实例
- ››FLASH不全等运算符!==
- ››FLASH字符串分隔符运算符
- ››FLASH% 模运算符
- ››Flash+、++、+= 加法运算符
- ››Flash, 逗号运算符
- ››flash中的-、--、-=减法运算符
- ››Flash的-Infinity 常数、.点运算符、/ 除法运算符...
- ››Flash两种注释方法/*..*/ 和// 注释行分隔符运算符...
- ››Flash的/=除法赋值运算符、=赋值运算符、== 等于运...
- ››Flash之?: 条件运算符、^ 按位 XOR 运算符、^= 按...
- ››Flash的_framesloaded代码示例
更多精彩
赞助商链接