当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash放大镜效果深入改进(2)

Flash动画制作
fmx2004 1000问(5)
Flash MX 2004 组件事件简单调试器
fmx2004 1000问(2)
Action Script 2.0新手调试
Flash 2004 MX Components
flash action 详解(9)
flash action 详解(7)
flash action 详解(1)
flash action 详解(6)
一个用纯AS写的正态曲线画法
flash action 详解(3)
浅谈AS的绘图功能及几个简单的实例
AS的基本代码解释(2)
flash action 详解(2)
flash action 详解(10)
运用for循环来对多个mc进行检测
极坐标在绘画方法中的运用
用Flash 2004编写简单的运算类
flash action 详解(4)
flash action 详解(5)

Flash动画制作 中的 Flash放大镜效果深入改进(2)


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-22   浏览: 86 ::
收藏到网摘: n/a


  下面是具体的制作过程

  1.导入一张图片。并以这张图片为基础建立一个MovieClip,起名叫“pic”。

  2.在场景的第一个图层“pic-small”中摆出这个“pic”的一个实例,大小与场景一样,作为小图。

  3.新建一个图层“pic-big”,再摆出“pic”的一个实例,在Instance中输入“gback”。这张图将作为大图。现在先不用管它的大小和位置,因为我们将在影片播放时动态地用ActionScript来改变它。

  4.再新建一个图层“mask”,在上面画一个大小合适的圆。将其转变为影片剪辑元件。并将其Instance改为“zoom”。这个圆就是你的“放大镜”了。在层上点右键,选择“遮蔽”(mask),将这一图层转化成为遮罩。

  最后的结果如下图:

  现在开始写我们的代码

  1、点击“pic-small”,为其加入以下代码:

onClipEvent(load)
{
  scale=2; //初始化放大倍数
}

onClipEvent(mouseMove)  //鼠标移动时实时计算和改变大图的位置
{
  _root.gback._x=_xmouse-_xmouse*scale;
  _root.gback._y=._ymouse-_ymouse*scale;
}

on(keyPress "")   //按下PAGEDOWN时减少放大倍数
{
  scale-=0.1;
  if(scale<1) scale=1;

  //倍数改变后应该重置图片大小和位置
  _root.gback._xscale=50*scale;
  _root.gback._yscale=50*scale;
  _root.gback._x=_root._xmouse-_xmouse*scale;
  _root.gback._y=_root._ymouse-_ymouse*scale;
}

on(keyPress "")   //按下PAGEUP键时加大放大倍数
{
  scale+=0.1;
  if(scale>4) scale=4;

  //倍数改变后应该重置图片大小和位置
  _root.gback._xscale=50*scale;
  _root.gback._yscale=50*scale;
  _root.gback._x=_root._xmouse-_xmouse*scale;
  _root.gback._y=_root._ymouse-_ymouse*scale;
}

  2、再在影片的第一帧加入以下代码:

startDrag(zoom,true);   //拖动“放大镜”,并将鼠标锁定在其中心。

  好了,现在可以按“Ctrl+Enter”测试下我们的影片了。你还可以加入一些创意让影片更完善。源代码下载