莫相离 发表于 2015-1-15 21:20:45

动画教程之Flash MX 2004 ActionScript图文教程(十二)

FlashPlayer是一款能够播放小又快速的多媒体动画,以及交互式的动画、飞行标志和用macromediaflash做出的图像。
  2.4影片剪辑事务
  相对后面所先容的鼠标事务、键盘事务和帧事务而言,影片剪辑事务则显得稍为有点难明。当我们将一个影片剪辑放加入景中时,他就成了一个“事务发射器”,不休地呈报本人的运转形态,假如我们捕捉如许的事务,就能够做出响应的反响和处置。影片剪辑有多种,上面分门别类地加以先容。

  2.4.1onClipEvent(Load)和onClipEvent(unload)
  这个事务在影片剪辑加载的时分产生,那甚么是影片剪辑的加载呢?例如说,你在场景中增加了一个影片剪辑clip_mc,并让他在第10帧的时分呈现影片中,那末第10帧的时分它就会触发这个事务。要想处置这个事务能够选择影片剪辑clip_mc,然后鄙人面的剧本面板中输出如许的代码(一般用来对影片剪辑举行初始化):

  onClipEvent(Load)

  {

  }

  onClipEvent(unload)的感化和onClipEvent(load)的感化刚好相反,当影片剪辑消散的时分,这个事务就会产生。

  2.4.2OnClipEvent(enterFrame)
  enterFrame事务会跟着影片的播放而不休产生,影片每行进一帧,影片剪辑就会触发一次enterFrame事务。假定影片的播放速度为每秒20帧,那末这个事务就会以每秒20次的速度不休发生。你必定会问,如许的事务有甚么感化?实在在影片剪辑事务中,enterFrame应当说是最经常使用的,由于他能够用来制造相称庞大的动画。例如说,我们要制造一个炸弹从空中不休翻腾落下的动画能够依照如许的步骤来实行:起首创建一个影片剪辑作为炸弹,将其拖放加入景中创建影片剪辑实例,让这个实例捕获enterFrame事务,并为其计划如许的代码:

  onClipEvent(enterFrame)

  {

  this._Roation+=10;

  this._y+=10;

  }

  这段代码的意义就是,每隔一帧将影片剪辑(this)扭转10度,同时沿纵向挪动10个单元。这里用到了一个“+=”运算符,大概有点简单让人感应狐疑,实在这是一种经常使用的运算符简写体例,意义是“本人给本人加上某个值”,比方This._Rotation+=10和This._Rotation=This._Rotation+10是等效的。

  2.4.3onClipEvent(MounseMove)、onClipEvent(mouseDown)和onClipEvent(mouseUp)
  这个事务和后面见过的良多工夫仿佛有些类似,这几个事务的确是当鼠标挪动的时分产生,可是要出格注重一点,不管鼠标在场景的甚么地位(而纷歧定要在影片剪辑上方),这个事务城市产生。鼠标每动一下,MouseMove事务城市产生一次。一样,你又要问,这个事务无能甚么了?举例来讲,我们必要制造一个相似泡泡龙那样的游戏,屏幕下方有一门年夜炮,当鼠标挪动的时分,炮口会一直指向鼠标的偏向。这类效果就能够onClipEvent(MouseMove)来完成。详细来讲,就是将年夜炮制造成一个影片剪辑,然后为其增加如许的代码:

  onClipEvent(mouseMove)

  {

  var_angle=((this._x-_root._xmouse)/(this._y-_root._ymouse));

  trace(var_angle);

  var_angle=Math.atan(var_angle);

  var_angle=var_angle*180/Math.PI;

  this._Rotation=-var_angle;

  }

  这段代码用到了几个供应的数学函数,它们都是在Math工具外部的,因而用起来很方面。起首,用以后影片剪辑的横向和纵向座标减往鼠标的横向和纵向座标,然后盘算及其夹角的正弦值,接着将这个值用归正切函数换算成角度(Math.atan),注重,了局是弧度数,必要再转换成经常使用的角度,最初在将其复制给影片剪辑的_Rotation参数,完成年夜炮跟着鼠标指针的活动而扭转的效果。

  弄懂了mouseMove事务,MouseDown和MouseUp的寄义也就不难了解了。

  2.4.4OnClipEvent(keyDown)和onClipEvent(KeyUp)
  这两个事务和后面的on(Keypress)类似,都是用来捕捉键盘的按键事务的。不外,必要出格夸大的是,OnClipEvent(KeyDown)和onClipEvent(KeyUp)这两个事务的功效要壮大很多,将它们分离起来利用能够捕获用户按下的组合键(好比CTRL+A),这比只可以捕获单个按键举措的on(Keypress)要壮大很多。例如说,假如我们必要捕获用户按下CTRL+F的操纵可使用如许的代码:

  onClipEvent(keyUp)

  {

  if(Key.isDown(Key.CONTROL)&&Key.isDown(70))

  {

  //实行响应的操纵

  }

  }

  这段代码中利用了内置工具Key,这个工具关于按键的处置十分有效。IsDown()办法用来监测某个键是不是已按下,这个函数的参数能够是键值好比70对应F键。也能够利用Key工具内置的键称号,好比Key.CONTROL就是指CTRL键。将这两个键是不是按下的了局举行逻辑与运算(&&)就能够晓得CTRL和F键是不是同时按下。

  2.4.5OnClipEvent(data)
  假如某个影片剪辑实例举行了数据加载的操纵,那末OnClipeEvent(data)事务会在数据加载完成的时分</p>
要在Flash中构建应用程序,可以使用Flash绘图工具创建图形,并将其它媒体元素导入Flash文档。接下来,定义如何以及何时使用各个元素来创建设想中的应用程序。

海妖 发表于 2015-1-17 16:19:24

目前动画广告在各类电视节目中有着广泛的应用,在影视及广告中占有重要地位。广州形动数码是国内领先的动画设计制作,

若天明 发表于 2015-1-25 13:45:26

Flash是一种以向量图方式制成的网页动画,相比MPEG,AVI等的影片的档案大小就小很多.

莫相离 发表于 2015-2-2 22:22:14

祯率越高,动画中可包容的信息越多,动画看起来越光滑和流畅。当然,当祯率增加时,计算机的CPU的重绘工作越多,运行得就越慢。

小魔女 发表于 2015-2-8 15:30:05

FLASH在网站建设过程中既然有这么多的问题,那为什么我们还继续使用FLASH,不可否认FLASH的问题的确存在,但也不可忽视FLASH在网站建设中。

蒙在股里 发表于 2015-2-25 20:48:26

不能制作色彩丰富变化的图像,核心竞争力小,而且有一定的局限性。要想制作优秀的动画,就要充分了解软件的优点和缺陷。

飘灵儿 发表于 2015-3-8 07:35:35

假设一个Web设计者需要让一页上的不同元素之间相互作用。如果其中的一些元素出现在Box内,而另一些在Box之外,那么设计者就很不幸。

冷月葬花魂 发表于 2015-3-15 22:37:36

Flash使交互性容易,并且消除了学习某种语言的需要。折中办法是不学语言,同时失去一些功能。但是你仍然可以处理基于用户动作(如鼠标移动或点击)的触发事件,这通常是你需要的所有交互性。

深爱那片海 发表于 2015-3-22 18:08:19

关于位图和矢量图形的区别,可参看Flash教程。
页: [1]
查看完整版本: 动画教程之Flash MX 2004 ActionScript图文教程(十二)