Flash中的物理运动动画编程(精选9篇)由网友“鸡块”投稿提供,下面是小编为大家推荐的Flash中的物理运动动画编程,欢迎阅读,希望大家能够喜欢。
篇1:Flash中的物理运动动画编程
编程
本文译者:egoldy
文章出处:www.bit-101.com
文章性质:翻译
译者网站很值得一看: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;
nEnterFrame=function{
my_mc._x+=vx; //你也可以写成 my_mc._x=my_mc._x+vx;
}
演示:
我们发现MC以恒定为5的速度向右移动,如果想要它向左移,只要将vx设为负值即可。
通过上面的代码我们可以变通一下,如果想使小球上下移动,可以设置y轴上移动。代码如下:
vy=5;
nEnterFrame=function(){
my_mc._y+=vy; //你也可以写成 my_mc._y=my_mc._y+vy;
}
这里就不再做演示了。你可以自已试一下,看看你是否理解了。
下面,我们再变通一下,在物理中有一个概念叫合速度,也就是x轴和y轴方向上的合速度。下面我们就来看一下,你可能已经知道了我在说什么。下面来看一下代码:最好你能在看下面代码之前自已写出来。
代码:
vx=5;
vy=5;
nEnterFrame=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;
nEnterFrame=function(){
vx=Math.cos(radians)*speed;
vy=Math.sin(radians)*speed;
my_mc._x+=vx;
my_mc._y+=vy;
}
演示:
通过演示你已经发现小球已经沿着15度的方向移动了。这样angle相当是一个接口参数,你可以任意的对小球的方向进行控制。
2. 加速度
经过上面的学习已经对速度应用有了一些了解,下面我们看一下加速度。在物理中的加速度有一个公式如:vt=vo+at在FLASH中应用基本上与些公式类似,只是省去了一些细节如时间。细分析时间并没有省去,而是通过时间轴来代替了。这里我们加速度为ax,那么在x轴上速度一般写成vx=vx+ax,简写成vx+=ax;我们把初速度设为0;
代码:
ax=0.2;
vx=0;
nEnterframe=function(){
vx+=ax;
my_mc._x+=vx;
}
演示:
那么同样道理,我们需要变通一下,另外个人的一点小观点,要善于提出问题,并努力想办法自已去解决,有助于你快速的学习进步。我们在y轴也加上加速度。
代码:
ax=0.2;
ay=0.1;
vx=0;
vy=0;
nEnterFrame=function(){
vx+=ax;
vy+=ay;
my_mc._x+=vx;
my_mc._y+=vy;
}
演示:
通过演示我们发现小球已沿着合速度方向加速运行,现在问题又来了,如何使我们能按指定的角度加速运行呢。这个就当一个小作业吧。看你是否理解了它的应用。你可以结合前面的例子试一下。
3. 重力
重力实际上就是加速度,但它有一个特殊性是只做用在y轴上,这里我们把重力定义成grav,与上面的加速度类似。
代码:
grav=0.5
vy=0;
nEnterFrame=function(){
vy+=garv;
my_mc._y+=vy;
}
演示:
4. 弹性
弹性,一般是指物体接触到到某个边界,所进行的回弹,在FLASH中,我们需要做的是设置好边界,以及物体回弹的方向。那么如何确定它回弹的方向呢,我们设定一个边界,当小球超出边界时小球回弹,也就是方向改变了。以x轴为例应为:vx*=-1; 实际上你可能发现它实际上就是 vx=-vx;
代码:
//设定边界
top=0;
left=0;
right=400;
bottom=300;
vx=10;
vy=10;
nEnterFram=function(){
my_mc._x+=vx;
my_mc._y+=vy;
//下面代码检测小球是否到达边界,如果已到边界,重设小球的正确做坐,并使其回弹,
if(my_mc._x+my_mc._width/2>right){
my_mc._x=right-my_mc._width/2;
vx*=-1;
}
if(my_mc._x-my_mc._width/2
my_mc._x=left+mc_mc._width/2;
vx*=-1;
}
if(my_mc._y-my_mc._height/2
my_mc._y=top+my_mc._height/2;
vy*=-1;
}
if(my_mc._y+my_mc._height/2>bottom){
my_mc._y=bottom-my_mc._height/2;
vy*=-1;
}
}
演示:
通过演示我们发现小球在碰到边界会不断的回弹。
*注意:上面代码中的my_mc._x,my_mc._y的坐标都是指my_mc的中心点,也就是说my_mc的注册点在中心,如果你在制作过程中发现与本演示不同,那一定是你的my_mc注册点没有在中心上。
弹性中的能量损失
在上面的例子,小球在回弹时我们设定当碰到边界时直接回弹,也就是vx*=-1;并没有能量的损失,但在现实生活中,小球在回弹时要有一定的能量损失,其中还要有重力加速度的影响,通过上面的例子我们可以得出结论,当回弹速度设为1时无能量损失,其中的负号只是代表方向,当小于1时会产生能量损失,也就是我们通常说的摩擦,如:vx*=-0.8;同时不要忘了在现实生活小球还会受重力加速度的影响。
代码:
top=0;
left=0;
right=400;
bottom=300;
//设定重力加速度变量garv
garv=.5;
vx = 10;
vy = 10;
nEnterFrame. = function () {
//y轴方向的加速度
vy+=garv;
my_mc._x += vx;
my_mc._y += vy;
if(my_mc._x+my_mc._width/2>right){
my_mc._x=right-my_mc._width/2;
vx*=-0.8;
}
if(my_mc._x-my_mc._width/2
my_mc._x=left+my_mc._width/2;
vx*=-0.8;
}
if(my_mc._y-my_mc._height/2
my_mc._y=top+my_mc._height/2;
vy*=-0.8;
}
if(my_mc._y+my_mc._height/2>bottom){
my_mc._y=bottom-my_mc._height/2;
vy*=-0.8;
}
};
演示:
5.摩擦力
摩擦力的应用相对比较简单,我们需要定义一个摩擦系数,通常它的值为小于1,然后将它与速度相乘,也就是前面在弹性时所提到的能量损失,
代码:
fraction=0.95;
vx=10;
vy=10;
nEnterFrame=function(){
vx*=fraction;
vy*=fraction;
my_mc._x+=vx;
my_mc._y+=vy;
}
演示:
6.拖动与抛
拖动与抛实际是与上面的例子的结合应用,这里只是说明如何与上面相结合使用。在本例中我们想要在拖动小球的小球停止运动,松开或抛出时小球继续运动,在制作之前,我们先看一下基础知识:
要点:拖动我们使用方法startDrag(),同时要禁止小球运动,当拖动时要注意小球的运动速度变化,松开时,使用方法stopDrag(),同时重置速度,然后小球继续运动。
代码:
top=0;
left=0;
right=400;
bottom=300;
garv=.5;
vx = 10;
vy = 10;
nEnterFrame. = function () {
//设定如果没有拖动则小球正常进行带有能量损失的弹性运动
if(!dragging){
vy+=garv;
my_mc._x += vx;
my_mc._y += vy;
if(my_mc._x+my_mc._width/2>right){
my_mc._x=right-my_mc._width/2;
vx*=-0.8;
}
if(my_mc._x-my_mc._width/2
my_mc._x=left+my_mc._width/2;
vx*=-0.8;
}
if(my_mc._y-my_mc._height/2
my_mc._y=top+my_mc._height/2;
vy*=-0.8;
}
if(my_mc._y+my_mc._height/2>bottom){
my_mc._y=bottom-my_mc._height/2;
vy*=-0.8;
}
//如果有拖动,则此时速度发生了变化,需要记录下最后my_mc的位置和当前my_mc的位置,两者的差为当前的速度。
}else{
vx=my_mc._x-oldx;
vy=my_mc._y-oldy;
ldx=my_mc._x;
ldy=my_mc._y;
}
};
my_mc.onPress=function(){
this.startDrag();
dragging=true;
}
my_mc.onRelease=function(){
this.stopDrag();
dragging=false;
}
演示:
7.easing缓动
简单的easing方式,需要我们选择目的地,然后以摩擦的形式达到目的点。这就是easing.如果想要更复杂的easing方式,可以参看www.robertpenner.com,当然你也可以使用现在网站各种各样的类。或是使用mm自带的transition类或是tween类。
代码:
targetx = 200;
targety = 150;
nEnterFrame. = function () {
dx=targetx-my_mc._x;
dy=targety-my_mc._y;
my_mc._x+=dx*.3;
my_mc._y+=dy*.3;
};
演示:
8.Spring弹簧
spring非常类似于easing,但它的效果比easing更cool。一般的方法为定义一个目标点,计算出到它的距离,加速度为距离与摩擦系数的积,同时还需要使用摩擦。
代码:
var targetx = 200;
var targety = 150;
fraction = .9;
vx = 0;
vy = 0;
nEnterFrame. = function () {
if (!dragging) {
//起始点与目标地点的距离
dx = targetx-my_mc._x;
dy = targety-my_mc._y;
//加速度
vx += dx*.3;
vy += dy*.3;
//加入摩擦
vx *= fraction;
vy *= fraction;
my_mc._x += vx;
my_mc._y += vy;
}
};
my_mc.onPress = function() {
this.startDrag();
dragging = true;
};
my_mc.onRelease=function() {
this.stopDrag();
dragging = false;
};
演示:
spring 与鼠标相连
下面我们要对spring 进行一下简单的扩展,我们可以将目标地点设为光标的坐标值,同时可以使用drawing api用画线的方式将其相连起来。
代码:
var targetx = 200;
var targety = 150;
fraction = .9;
vx = 0;
vy = 0;
nEnterFrame. = function () {
dx = _xmouse-my_mc._x;
dy = _ymouse-my_mc._y;
vx += dx*.3;
vy += dy*.3;
vx *= fraction;
vy *= fraction;
my_mc._x += vx;
my_mc._y += vy;
//画线与mouse相连
clear();
lineStyle(1,0,100);
moveTo(_xmouse,_ymouse);
lineTo(my_mc._x,my_mc._y);
};
演示:
现在我们在变通一下,小球在自然界中是有重力的。加上重力看看什么效果。一个小作业,你试一下。
Spring 链
最后我们来一个稍微难一点的,是上面例子的一个扩展,如果你对上一个例子有了一定的理解,这个对你来说是不成问题的。上面的例子是跟随着光标,如果是链的话。那么第二个小球就应跟随第一个小球,依次类推。如果这个你难做出来。相信这种类型的菜单对你来说就不成问题了。
代码:
fraction = .7;
grav=20;
my_mc.vx = 0;
my_mc.vy = 0;
my_mc1.vx = 0;
my_mc1.vy = 0;
my_mc2.vx = 0;
my_mc2.vy = 0;
nEnterFrame. = function () {
clear();
lineStyle(1, 0, 100);
moveTo(_xmouse, _ymouse);
spring(my_mc, _xmouse, _ymouse);
spring(my_mc1, my_mc._x, my_mc._y);
spring(my_mc2, my_mc1._x, my_mc1._y);
};
function spring(mc, x, y) {
dx = x-mc._x;
dy = y-mc._y;
mc.vx += dx*.3;
mc.vy += dy*.3;
mc.vy += grav;
mc.vx *= fraction;
mc.vy *= fraction;
mc._x += mc.vx;
mc._y += mc.vy;
lineTo(mc._x, mc._y);
}
演示:
总结:上面的教程看起来都是一些简单的东西,但它确确实实是一些好的框架,你可无限的发挥你的想象和创意,只要在这个框架之中添加一些元素或是代码。写这篇教程的目的主要是针对初级和中级的用户。目的是使大家意识到其实许多表面看起来复杂的东西,实际上都隐藏着相对复杂的简单,前提条件是你的思路一定要清晰。最后。仍要引用keith peters话。不要直接下载源文件或是直接粘贴代码。最好的方式是理解。才能发挥自如。如果你想知道更多更详细的内容。请访问keith peters的网站www.bit-101.com.或是去预定keith peters的新书making things move…相信对于desinger来说一定是一本好书。
篇2:flash地理运动动画课件
本节授课内容选自河北大学出版社出版的《信息技术》初中版第二册第2章第2节的内容,是学习Flash动画制作的基础内容,具有承上启下的作用。后续学习如引导层动画、遮罩动画等都将在此基础上展开,因此,本节课的内容十分重要,授课的成功与否将直接影响到学生后续学习的热情与动力。为了提高学生的学习兴趣,更好地培养他们自主学习探究能力、合作学习能力和自我创新能力,我采用了新颖的网页授课模式,学生通过登陆指定的网址就可访问相应的网页,一目了然的看到本节课的相关学习内容。授课对象为初二年级学生,他们已具备了一定的信息技术操作技能,已经掌握了Flash关键帧动画的制作,并且了解和掌握了工具面板中的各类工具的用途及其使用方法,鉴于此,我按照由易到难,循序渐进的原则设置了3个学习任务,通过这3个任务去驱动学生,使其能积极思考、探索,勇于实践,最终实现本课的教学目标,解决重点、难点,并在思考──探索──实践的环节中使学生感觉到学有所获,思有所得,体验获得成功的喜悦和快乐!
【教学目标】
知识目标:
1.了解运动动画的制作过程,掌握其制作方法。
2.了解Flash元件的分类及用途。
能力目标:通过观看“操作参考文件”中的演示,经过模仿演练后,能够独立完成简单动画的制作。
情感目标:培养学生严谨的学习态度、自主探究的学习精神和团结协作的作风。
【教学重、难点】
重点:
1.了解运动动画的制作过程。
2.了解Flash元件的分类及用途。
3.能够自己独立完成简单运动动画的制作。
难点:
1.能根据任务要求独立制作简单的运动动画。
2.对于Flash中的3种元件能够正确理解并灵活运用。
【教学环境】
硬件资源:具备局域网条件的微机室、电子教室。
软件资源:用FrntPage、Flash等软件制作的网页。
【教学方法】
任务驱动法,引导法,自学模拟法等。
【教学过程】
一、谈话激趣,导入新课
师:同学们,在上一节课中我们学习了关键帧动画的制作,初步领略了动画制作的乐趣。大家回想一下“小人跑步”动画的制作过程,谁来说说关键帧动画的制作要点是什么?
生:需要将每个帧都定义为关键帧,然后给每个帧创建不同的图像。
师:回答得非常好。关键帧动画的每一帧都需要用户去创建,大家想想,如果我们要制作一个复杂的动画,这样一帧一帧的去创建,是不是十分费时又费力?
生:(齐声回答)是
师:在Flash动画制作中有一种既省时又省力的制作方法,可以让用户轻松完成动画制作。即只需在动画的重要位置定义关键帧,由Flash产生关键帧之间的变化过程,这就是过渡动画(补间动画)。过渡动画又分为运动动画和变形动画两种。本节课我们学习运动动画的制作。请同学们登陆192.168.1.88,马上来领略一下过渡动画制作的神奇魔力吧。
二、讲授新课
师:运动是动画中最常见的一种表现形式,这节课我们主要学习其中的移动和旋转动画的制作。由于在Flash中制作运动动画的对象必须是一个实例,所以同学们有必要先弄清实例、元件的概念以及它们之间的关系。请同学们自学主页上的内容,了解一下元件的分类及用途。
生:自学了解(由于初二学生有一定的自学能力,故这部分内容让学生自学了解)
师:有了这些储备之后,请同学们点击“学习任务”模块,本节课我们将完成3个学习任务,请同学们分别点击这3个任务,欣赏一下它们的动画效果。(目的是激发学生的学习兴趣)这样的动画是怎么做出来的呢?大家想不想一试身手?
生:想(情绪高昂,跃跃欲试)
师:我们首先学习“任务一:气球升空”动画的制作。请同学们认真阅读网页上的“任务分析”和“操作步骤”,在已全然了解的基础上启动Flash软件,自己开始动手制作该动画。另外,在“操作参考1:气球升空”中给出了制作该动画的全过程,供同学们在制作时参考。
生:动手实践(学生在制作过程中会出现一些问题,如有的补间动画创建不成功,原因就是没有将绘制的气球转换为元件;有的在测试影片时发现气球不动,原因是气球在起始帧和结束帧上的位置相同,还有的给气球换颜色时改变不了颜色等等,教师在巡视时尽量引导学生将发现的问题自行动脑解决,而不是简单地直接告知其答案,从而培养和提高学生观察问题、分析问题、解决问题的能力。)
师:利用屏幕广播对学生作品进行评价,总结。
师:在同学们自己的努力之下,大家都成功地完成了任务一的动画制作,在此基础上我们趁热打铁,完成“任务二:滚动的彩球”的动画制作。
生:动手制作(问题较集中在彩球的运动上,刚开始做时大部分同学做出的动画彩球只有移动而没有滚动,解决该问题时采用小组讨论,各组互动学习的方式,发挥学生的`集体智慧,最终使问题得以解决)
师:通过任务二的操作演练,同学们进一步了解和熟悉了运动动画制作的方法与过程,进一步加强了对关键帧的理解和运用,请同学们再接再厉,完成“任务三:旋转的风车”的动画制作。关于“风车”的绘制同学们可以参考“操作参考2:风车的绘制”。
生:动手操作(问题集中在绘制风车时风车叶片的旋转复制上,通过让学生仔细观察:“操作参考2:风车的绘制”演示,让学生们自行找出与他们操作时的不同之处,然后再进行实践,这样解决之后,学生们对所学知识印象十分深刻。)
三、回顾总结,布置作业
师:请同学们结合3个学习任务的操作演练,说一说在本节课中你都学到了哪些知识,有了哪些收获?
生1:在本节课中我学会了Flash运动动画中的移动和旋转动画的制作方法及过程,成功地制作出了要求的3个动画,感觉动画制作十分有趣,我十分有信心学好后面的知识。
生2:我知道了制作逐帧动画和过渡动画的不同之处,知道了Flash元件的分类及各自的用途。
生3:我掌握了绘制图形时利用变形面板进行旋转复制的操作技巧,进一步熟悉和掌握了工具面板中各工具的使用,真是太有趣,太神奇了。
……
师:同学们都说得非常好,看来本节课大家的收获颇丰,每个人通过自己的努力,都感受和体验到了成功的喜悦和快乐!下面请同学们点击“课后作业”模块,欣赏“跳动的心”、“弹跳的小球”、“一箭穿心”这3个动画,结合本节课学到的知识和操作技能,动脑动手,想想这3个动画应如何制作?在“操作参考3:绘制心”中给出了如何画出一颗心的绘制过程,供同学们制作时参考。制作完成后请同学们将作品传到老师的QQ上,下节课将对其中的优秀作品进行展示,如果在制作过程中有什么问题,也可随时在老师的QQ空间里留言,老师会及时给予解答。学无止境,天道酬勤,让我们共同努力,加油!
篇3:Flash编程四下雪动画的制作
编程
思路:
当主场景加载时,有一定数量的雪花随机地分布在画面上,每帧播放后,这些雪花又会在x轴和y轴方向进行随机的位移,从而在整体上产生下雪的效果.
步骤:
1.打开flash MX ,新建文档,文档大小550*400像素,帧频设为25FPS.
2.用线条工具在舞台上画出一朵雪花,将该雪花选中,按F8将其转换为电影剪辑,将主场景雪花电影剪辑删除.
3.按ctrl+L打开库,在库中选中雪花电影剪辑,按右键后,在弹出的菜单中选“链接”,在接下来弹出的“链接属性”窗口中,将“标识符”设为snow,并在“为动作脚本导出”和“在第一帧导出”前打上勾.
4.回主场景,选中图层1的第1帧,按F9键打开动作脚本编辑窗口,输入以下代码:
this.onLoad = function {
n = 60;
var i = 1;
while (n >= i){
this.attachMovie(“snow”, “snow” + i, i);
var a = Math.round(60 * Math.random() + 41);
var b = Math.round(50 * Math.random() + 51);
with (this[“snow” + i]){
_x = 550 * Math.random();
_y = 400 * Math.random();
_xscale = a;
_yscale = a;
_alpha = b;
_rotation =a;
this[“snow” + i].x = Math.cos(Math.PI * Math.random());//雪花沿x轴每帧播放后的位移增量
this[“snow” + i].y = 2+ 2*Math.random();//雪花沿y轴每帧播放后的位移增量
}
i++;
}
}
this.onLoad();
this.onEnterFrame. = function(){
var a = 1;
while (n>= a){
with (this[“snow” + a]){
_x += x;
_y += y;
_rotation += y;
if (_y > 400){
_y =0;
}else if (_x>550){
_x=0;
}else if(_x<0){
_x=550;
}
}
a++;
}
}
5.按ctrl+enter测试影片,效果如下:
说明:这里用到了while循环,当然也可用for循环,
Flash实用编程四下雪动画的制作
,
篇4:Flash风扇交互动画的编程探析论文
Flash风扇交互动画的编程探析论文
摘要:Flash 是一款网页动画开发软件,在网站中网页动画制作中有着广泛应用,能够设计制作出具有交互式性质的动画。而这些动画通常是以运动的图像对网页内容进行说明解释或者吸引人们的注意。本文以 Flash 交互式动画为研究对象,对其动画编程展开论述,旨在能够为广告、动画学习者与工作者的具体实践提供一定的帮助。
关键词:Flash;交互动画;编程
1 交互式动画与 Flash 动画
1.1交互式动画
交互式动画发生在播放时,简单来说是一种具备交互功能的动画。在动画播放时,它能够对事件响应表现出支持态度,即能够接受某种特定的控制。这里,对动作操作的控制具有主观性与预先性。主观性是指控制是由动画播放者特定设计的,预先性是指在制作过程中为达到动画播放画面清晰、能够正常播放的效果,提前所做的某些准备工作。其中,交互性体现了人性化。传统意义上来讲,观众作为动画作品的受众对象,在动画播放观看过程中是被动的。但是,交互式动画出现后,观众也可以参与到动画播放中,也可以对动画播放进行控制,使得观众有了更加具有主动性的选择,不用漫无目的地观看,而是一种随心所欲地享受视觉效果。
1.2 Flash动画
Flash动画是交互式动画的一种形式,是最为典型的一种动画形式,观众可以实现对动画播放的控制。动画是借助设计者的创作思路理念与计算机信息技术为辅助发展而来的。随着设计者的创作思路理念逐渐突显出丰富性与灵活性,同时计算机信息技术的快速发展,出现了三维动画,并日渐成熟,从游戏领域逐渐过渡到电影领域,或者在建筑工程、考古文物古迹复原等领域中都有着广泛应用。这也颠覆了传统动画播放的被动观念。具有控制性的交互式互动性特征的三维动画,越来越发挥出在各个领域中的重要作用。
2 Action Script 简单介绍
Flash由Adobe公司开发,是一种用于网页动画开发的软件。它的内容由简到繁,对于作品的创建具有一定的主观自由性。在应用程序中添加声音等,使其媒体具有越加丰富性的特点[1].而Action Script是脚本语言,用于编程的一种语言,具有丰富的类库与强大的功能等特点,语法大致上与Java程序的Script有类似之处,应用范围极为广泛。
3 以风扇制作为例,分析 Flash 中的交互动画编程
3.1鼠标对风扇开关与档次的`控制
这个过程稍复杂,共11步,每个步骤都是重要环节,是环环相扣的关系。因此,每一个步骤都应认真对待,否则将会影响整体效果。
第一步很简单,是所有设计制作软件在使用中是我共同操作:新建文档。建立文档后,进行页面设置。页面设置就像一张纸,决定着可以容纳内容的多少,这里将Flash文档的页面设置为宽:540像素,高:420像素。在页面设置的时候,需要所绘制的事物大小等特征符合客观性,保证画面的美观。如果是平时练习可能会忽略这些,但是如果是专业的交互式动画制作,则必须注意。
页面工作区设置完以后,还需要建立图形符号,用于扇叶的绘制。再建立两个图形符号,在绘制编辑区域里绘制外壳与罩子。为加以区分,标注出哪个图形符号用于绘制外壳,哪个图形符号用于绘制罩子。这里重点介绍的是编程,对绘画步骤不加以详细讨论,当然绘制效果因人而异,具体的绘制内容效果还需要设计者的想象。
在Flash软件中,图形符号是其中一项基本元件。当调入位图时,要将位图置于图形符号当中,这是由于其符号本身具有一定的属性。位图要与这些属性相匹配,这是将位图放置于图形符号中的重要原因,然后根据属性进行调整。
建立与设置完图形符号后,就是影片剪辑环节。首先,建立影片剪辑的文档,为剪辑工作创造工作区域,将建立的影片剪辑命名为n1,表示建立的第一个影片剪辑,以此类推。在建立的第一个编辑区域里,使用鼠标单击第1帧,把设置好的扇叶符号放置编辑区内,然后在40帧的区域内单击。单击鼠标右键,会出现很多指令功能对话框,其中有一项是“插入关键帧”,选择这个指令,将其插入在刚才设置的第40帧中。再次对第1帧进行单击,同样单击右键操作,点击“创建补间动画”这个选项,在属性面板中有一个“旋转”选项,在该选项中将扇叶的转动方向设置为顺时针,默认旋转次数为一次。同时,根据需要对扇叶转速由动画帧数、旋转次数而定[2].
上面的操作完成后,各元件的编写程序正式开始。在n1的基础上进行复制,生成一个相同的影片编辑,命名为n2,也就是第二档。按照同样的方法,根据需要对n2编辑区的旋转次数与动画帧数进行设置。需要注意,转速要比n1快1为了使读者一目了然,这里只论述n1与n2两个档位的制作,具体的其他档位可根据具体情况而定。
回到场景设置编辑区域,单击第1帧,此时将外壳置于场景的中间位置,即拖入场景中后将其在页面中的位置设置为居中。再建立一个新的图层,同样单击第1帧,在公用库里找出3个数量的按钮,安放在外壳右边。按钮也是Flash软件中的一种基本元件,外观形式并不局限于一种,而是多种多样。编写程序后,按钮对鼠标事件具有明显的敏感性,对鼠标事件做出作出正确的响应,对动作脚本按照特定的形式执行。可见,按钮对于交互式动画的实现具有重要作用,是其中一项重要的关键对象。
建立新图层,命名为n2(之前相同命名的是影片剪辑,这里是图层,如怕混淆,可以将图层命名改为其他名字),进行第1帧的单击,选择恰当位置将n2影片剪辑拖入这个图层中,同时在n2图层的基础上再建立一个新的图层,命名为n1.进行第1帧的单击,拖入n1影片剪辑的操作,使其在场景中能够将n2影片剪辑完全覆盖。在这个过程中,注意对图层加以区分。每个图层对应一定的操作,如果混淆图层,导致操作与图层没有对应,再进行修改是一个非常麻烦的过程。
建立第三个图层,命名为n3.同样的方法单击第1帧,选择恰当的位置将罩子拖入场景。
在n1影片剪辑中,属性面板中有实例名称的选项,填写为“n1”.按照同样的方式将n2影片剪辑填写为“n2”,以区分分身。在动作面板中选中场景中的n1影片剪辑,添加代码。
然后,开始对停止命令的设置。选中颜色为黄色代表停止运动的按钮,并将停止运动的相应代码添加在动作面板中,输入正确代码后,单击与停止运动命令的按钮时,风扇处于停止运动状态。这里编写了on事件处理函数,针对鼠标事件选用Press事件。当通过按键激发这个事件时,计算机会执行繁琐的程序语句,n1与n2影片剪辑会出现播放停止的状态。
第十步选中第一档按钮,颜色为绿色的按钮,同样将代码添加至动作面板中。这样设置编程是为了风扇在单击按钮后,能够在第一档转动[3].
最后一步选中第二档按钮,颜色为蓝色的按钮,同样将相应的代码添加至动画面板中。这样编程是为了在档位中单击按钮后,风扇能够转动。
经过上面论述,就可以以若干简单语句,通过鼠标控制风扇的开关动作,进行档位之间动作的转换,实现通过计算机交互的动画。
3.2键盘对风扇开关与档次的控制
返回到第八步,选取n1影片剪辑,添加代码,通过代码编程赋予数字键盘一定的功能,便可敲击编程所设置的数字键。通过数字键盘的敲击输入相应数字,就可以实现风扇停止运动。运用恰当函数,通过if语句,利用代码语句的设置,赋予风扇运动状态的功能。这样实现了通过按键对风扇运动状态的控制。不同的数字键代表不同的意义,这样可以通过按键实现对交互式动画的控制。
4 结语
综上所述,本文从三个方面对Flash中的交互动画编程展开论述。第一部分对交互式动画与Flash动画进行简单介绍,增加了Flash交互式动画的了解认识。第二部分是对Action Script的简单介绍。Action Script是一种脚本语言,是Flash交互式动画编程的基础。最后一部分具体以风扇的制作为例,对其动画编程过程展开论述。Flash动画编程分为多个步骤,整个过程复杂,因此在具体编程中需要梳理步骤,注意对每个步骤每个细节的处理,并遵循客观规律,以时编程制作出来的动画符合逻辑关系。
参考文献:
[1]亓文娟。基于Flash的辅助教学动画设计与实现[J].安阳工学院学报,(4):97-99,107.
[2]梁燕。强化教学互动,培养思维品质--《交互动画编程》多媒体教学有感[J].信息与电脑(理论版),(4):225.
[3]陈伟。互动媒体艺术课程体系主干课程之《交互动画设计》研究[J].苏州工艺美术职业技术学院学报,2014(1):13-14.
篇5:Authorware中自动擦除Flash动画
在使用Authorware进行课件制作的过程中,经常会遇到这种情况:一个Flash动画文件播放结束后需要跳转到另一个画面,在无法估计此Flash文件具体播放时间的情况下,我们只能在其后插入一个“等待” 图标和一个“擦除”图标,并且使用者必须赋予一个动作才能继续程序流程,然后擦除该Flash图标(如图1),跳转至下一个图标。笔者从函数入手实现了Flash文件的自动擦除,具体有以下几个步骤(以图2为例)。
图1 原来的擦除方法1 确定Flash的终止帧
一个Flash文件可多次使用,Flash文件播放的长短是可以任意设置的。在制作Flash动画时,可以记录要终止画面的具体帧数。这里我们需要Flash动画“开始”的1至40帧。
2 “交互”与“擦除”
联合使用
交互图标下只需设置一个交互,相应反馈图标设为“擦除”图标,
响应类型(Response)设置为“条件(Conditional)”。分支(Branch)下拉列表框设置为“退出交互(Exit interaction)”。其余用缺省值。
3 选择擦除对象
实现Flash文件的自动擦除,仍然需要“擦除”图标的帮忙。以图2为例,擦除图标的擦除对象应选择图标“开始”。
图2 自动擦除除方法4 设置函数
在Authorware中自动擦除Flash,关键在于函数“GetSpriteProperty(@“图标名称”,#frame)= 动画帧数”。以图2为例,只需要Flash动画“开始”的1至40帧,所以将擦除图标的交互条件(Conditional)设置为“GetSpriteProperty(@“开始”,#frame)= 40”。
经过以上四步,Flash文件播放到40帧时会自动擦除,跳转到图标“结束”。
篇6:在PowerPoint中插入Flash动画
这种方法是将动画作为一个控件插入到PowerPoint中去,该方式的特点是它的窗口大小在设计时就固定下来,设定的方框的大小就是在放映时动画窗口的大小,
在PowerPoint中插入Flash动画
,
当鼠标在Flash播放窗口中时,响应Flash的鼠标事件,当鼠标在Flash窗口外时,响应PowerPoint的鼠标事件,很容易控制。
篇7:在PPT中插入FLASH动画
在PPT中插入FLASH动画可以让PPT更加生动、美观和具有说服力,同时,FLASH动画的应用对于吸引观众的眼球有着非常大的帮助,但是在PPT是不能直接插入FLASH动画的,因为目前PPT还没有提供插入FLASH动画的功能,因此,只能用其他方法来向PPT中插入FLASH动画。以前说过《在PPT中插入FLASH最简单的方法》 ,下面说说另一种方法,
这种方法很简单,就是将扩展名为. SWF的FLASH动画直接插入PPT中。首先打开一个PPT文档,然后选择插入菜单下面的对象选项,在弹出的对象对话框中选择由文件创建项,然后找到FLASH动画文件,确定之后就可以把这个FLASH动画文件插入到PPT中了。然后在这个FLASH动画文件上点右键选择动作设置,在对象动作选项中选择激活内容,确定之后回到PPT界面,放映这个PPT的时候就会播放插入的FLASH动画了。
篇8:在FrontPage中插入Flash动画
flash动画|frontpage|插入
Flash动画在网上广为流行,作为菜鸟的我也想在网页中展现一下自己做Flash动画的水平,动画作好了,但是怎样让它在FrontPage 中“安家落户呢”?作为老菜鸟的我,还是厚着老脸向年轻的大侠请教,学习嘛!当然还是要不耻下问的,年轻的大侠答话了,“电脑伺候,看我出‘招’。”
要想练好“绝招”,首先练好“基本功”。请看,在安装Flash的文件夹下的Players文件夹下有一个InstallAXFlash.exe(Flash插件)文件,直接运行即可。
现在正式传授“武功”,可要看好了。在FrontPage 2000中,打开“插入→高级→ActiveX控件”菜单项,在弹出的对话框中单击“自定义”按钮,再在弹出的对话框中选中“Shockwave Flash Object”,单击“确定”,回到前一个对话框,在这个对话框中出现了“Shockwave Flash Object”这一项,单击这一项,在网页上出现了一个很大的光标符号,用鼠标单击光标符号前面的空白,出现了有八个黑色句柄的框,双击这个框,弹出“一个ActiveX控件属性”对话框,在Movie URL处添入Flash动画文件的路径和名字,
注意一定要是SWF格式影片,必须带上扩展名。“累死我了,自己预览吧!”
“摆臭架子,那你休息吧!我正好试试‘招’。”单击预览,“真棒!不愧是个大侠。”我要向大侠辞别的时候(网页中还没插入flash动画),大侠答话了,“不想学了?”,“还有别的‘招’喔!”,“‘绝招’都还没有使出来呢!”现在正式传授本门“绝招”,请看“绝招心法”。打开“插入→高级→控件”菜单项,弹出如图1对话框,单击“浏览”按钮,选择要插入的Flash动画文件。“怎么样,这招是不是更绝?用FrontPage 2000来做网页,可以快速方便的插入 Flash动画。”还没等大侠讲完,老菜鸟我像离弦的箭一样向家跑。
图1
篇9:在PowerPoint中插入Flash动画
利用控件
这种方法是将动画作为一个控件插入到PowerPoint中去,该方式的特点是它的窗口大小在设计时就固定下来,设定的方框的大小就是在放映时动画窗口的大小,当鼠标在Flash播放窗口中时,响应Flash的鼠标事件,当鼠标在Flash窗口外时,响应PowerPoint的鼠标事件,很容易控制。
1. 运行PowerPoint程序,打开要插入动画的幻灯片。
2. 单击菜单中的“视图”选项,在下拉菜单中选择“工具栏”的“控件工具箱”,再从下拉菜单中选择[其他控件]按钮。
3. 在随后打开的控件选项界面中,选择“Shockwave FlashObject”选项,出现“十”字光标,再将该光标移动到PowerPoint的编辑区域中,画出适合大小的矩形区域,也就是播放动画的区域,就会出现一个方框。
4. 双击这个框,出现VB界面,其中的属性窗口中有个“自定义”属性,点自定义旁边的三点,出现属性页。在“WOVIE URL”中输入Flash动画的完整地址,按[确定]即可。要注意的是输入的路径中必须完整地填写后缀名。
插入对象
采用这种方式,在播放幻灯片时会弹出一个播放窗口,它可以响应所有的Flash鼠标事件。还可以根据需要在播放的过程中调整窗口的大小。它的缺点是播放完了以后要点击[关闭]按钮来关闭窗口。
1. 运行PowerPoint程序,打开要插入动画的幻灯片,
2. 在菜单中选择“插入”选项,从打开的下拉菜单中选择“对象”。会弹出“插入对象”对话框,选择“由文件创建”,单击[浏览],选中需要插入的Flash动画文件,最后单击[确定]返回幻灯片。
3. 这时,在幻灯片上就出现了一个Flash文件的图标,我们可以更改图标的大小或者移动它的位置,然后在这个图标上右击鼠标,选中“动作设置”命令。
4. 在弹出的窗口中选择“单击鼠标”或“鼠标移动”两个标签都可以,再点击“对象动作”,在下拉菜单中选择“激活内容”,最后单击[确定],完成插入动画的操作。
插入超链接
这种方法的特点是简单,适合PowerPoint的初学者,同时它还能将EXE类型的文件插入到幻灯片中去。
1. 运行PowerPoint程序,打开要插入动画的幻灯片。
2. 在其中插入任意一个对象,比如一段文字、一个图片等。目的是对它设置超链接。最好这个对象与链接到的动画的内容相关。
3. 选择这个对象,点击“插入”菜单,在打开的下拉菜单中单击“超级链接”。
4. 弹出的窗口中,“链接到”中选择“原有文件或Web页”,点击[文件]按钮,选择到想插入的动画,点击[确定]完成。播放动画时只要单击设置的超链接对象即可。
点击阅读更多学院相关文章>>
分享到
★ 教学课件制作
★ html学习总结
【Flash中的物理运动动画编程(精选9篇)】相关文章:
计算机专业学生社会实践心得2022-05-30
《网页设计与制作入门与实战》心得读后感2023-02-24
认识西洋乐器课件制作2023-02-22
寒期社区服务社会实践报告计算机专业2023-03-23
如何制作课件2023-01-01
言语交互性的跨文化分析2022-10-05
游戏数控技术制作中美术论文2022-05-23
多媒体教学2022-11-17
多媒体课件2023-02-15
个人计算机属于2023-03-26