本文译者:egoldy
文章出处: http://www.bit-101.com
文章性质:翻译
译者网站很值得一看:http://www.webstudio.com.cn/
actionscript animation 简明教程
本教程节选自bit-101.com的未正式出版的新书making things move的新书介绍。主要内容是关于速度,加速度,弹性,缓动,摩擦力,重力等内容,这里没有非常详尽的内容,如果你想知道更详尽的内容,可以预定购买作者的新书making things move…相信一定是一本好书。引用keith peters的话就是你一定不要直接将代码粘过来用,只有理解了它的应用,才能运用自如。在本教程中本人对大部分内容进行了扩展讲解。希望对于初学或中级用户有所帮助,由于多年没有研究过数学物理,难免有误,希望多多指正。
1. 速度
物体的运动都是沿着一定的方向,以恒定或是加速度的方式的运动的。在falsh中要使物体以一个恒定的速度运动,就需要我们在每一帧不断的累加恒定的速度。这里面我们使用一种帧的循环的方式,来使物体不断的累加恒定的速度,以达到目的地。对于帧的循环方式大致上有三种,一种是使用代码onenterframe,一种是使用setinterval,另一种就是使用二到三帧来达到循环,如果你对这三种方式不太熟,请查看帮助来学习。
在x轴方向的速度我们定义为vx,方向是向右,如果向左只要设为负值就可以。
例如:
代码:
vx=5;
onenterframe=function(){
my_mc._x+=vx; //你也可以写成 my_mc._x=my_mc._x+vx;
}
演示:
我们发现mc以恒定为5的速度向右移动,如果想要它向左移,只要将vx设为负值即可。
通过上面的代码我们可以变通一下,如果想使小球上下移动,可以设置y轴上移动。代码如下:
vy=5;
onenterframe=function(){
my_mc._y+=vy; //你也可以写成 my_mc._y=my_mc._y+vy;
}
这里就不再做演示了。你可以自已试一下,看看你是否理解了。
下面,我们再变通一下,在物理中有一个概念叫合速度,也就是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相当是一个接口参数,你可以任意的对小球的方向进行控制。
出处:webstudio
责任编辑:qhwa
上一页 下一页 加速度和重力
◎进入论坛flash专栏版块参加讨论
| ||
| flash paper 2 flash缓冲滚动升级版本 第十二届国际flash电影节入围名单 flash声音高级篇:nullsound技术 actionscript 最新加密方法 |
| ||
| flash 8 少为人知的特性 actionscript animation 简明教程 flash mx 2004 数据绑定 flash dynamic mask 动态遮罩 flash mx 2004 video |
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||
|
| |||||||||||||||||||||||||||||||||||
| |
|
>
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器