...">

FLASH特殊效果之三:可拖动的悬浮窗口


TABLE border=0 cellSpacing=2 width="95%">

主动画
子动画


  下面,我们先来制作主动画。主动画的制作十分简单,只有一帧。画上你喜爱的背景之后,在右下角如左图一样,做一个个性化的按钮。然后双击按钮,选择Actions,给按钮加上如下的Action:
  On (Release)
   Load Movie ("newwindow.swf", 1)
  End On
  其中,Load Movie句中的newwindow.swf是子动 奈募憧梢愿葑约旱那榭龈亩?则是指定把子动画加到第一级(Level 1),级别越高,动画越在上面(高级别动画能覆盖低级别的动画),主动画的级别是0。这样,主动画就制作完毕了。

相对而言,子动画的制作就要比主动画复杂多了。下面我们就来看一下如何制作子动画的。

  首先,在场景里画上一个半透明的方框(我用的是Alpha值为50的白色填充),然后把这个方框转换成MovieClip,同时在场景中定义这个MC的实体名为window。然后在场景第二整添加一个空的关键帧。把第一帧的Action设为Stop,第二帧的Action设为:Unload Movie (1),把第一级的动画从主动画中移走。

  接着编辑那个MC,如右图,在方框的左上方做一个按钮,名为DRAG,右下方也做一个按钮,名为closewindow。然后,对这两个按钮编程。

在方框的左上方做一个按钮,名为DRAG
右下方也做一个按钮,名为closewindow

  双击DRAG按钮,选择Actions,加入如下的Action:
  On (Drag Over, Drag Out)
   Start Drag ("/window")
  End On
  On (Release, Release Outside)
   Stop Drag
  End On
  

  第一个On ... End On是当DRAG按钮按下时,让实体window跟随鼠标移动。(注意,选择Start Drag时,不要在Lock mouse to center上打勾)第二个On ... End On是当鼠标按钮松开时,停止拖动。
    双击closewindow按钮,选择Actions,加入如下Action:
  On (Release)
   Begin Tell Target ("/")
    Go to Next Frame
   End Tell Target
  End On
  这段Action Script的目的是让场景动画走到第二帧,执行第二帧的Action。

  好了,先输出子动画,名字要和主动画中Load Movie的相一致,例如我的输出是newwindow.swf,搞定,现在执行主动画,按下按钮,看到浮动窗口了吧,拖动他!