下载:放大镜.fla
1 前 言
本文讲述Flash动画《放大镜》的制作方法。
原理是:用一幅图像复制成第二图像,然后将其中一幅比例缩小。用"放大镜"遮罩较大的图像,然后在较小的图像上移动,显示放大效果。
提示:原文是按使用Flash MX,讲解制作方法的。如果使用Flash MX 2004,则需要作些改进,请参照下图所示的方法制作。
2 操作步骤
⑴新建一个Flash文档。根据需要,在"文档属性"对话框上,设定文档尺寸(宽度与高度)。
⑵导入一幅图像至图层 1,并将其尺寸调整到所需的大小。
⑶(用箭头工具)选中图像,单击"插入"·"转换为元件"(或按F8),再在"转换为元件"对话框上,"名称"框中输入photo;"行为"单选按钮组中,选中"影片剪辑",然后单击"确定"。
⑷选中图层 1中的图像后,单击"修改"·"变形"·"缩放与旋转",在"缩放和旋转"对话框上,"缩放"框中,输入85,然后单击"确定"。并将图层 1改名为"smallphoto"。
⑸新建一个图层并改名为glass;打开一个存放放大镜组件的文档glass.fla,将放大镜组件复制粘贴至第1帧上。
提示:在此过程中,本文档的库中增加了一个元件。名为glass的元件。
⑹选中放大镜,在属性面板上,左侧元件类型框下方的文本框中,输入实例名"glass"。
提示:元件从库中拖到编辑区后,成为实例。
⑺进入元件glass编辑状态,新建一个图层,改名为bigphoto。将库面板上的元件photo拖至该图层上。选中后在属性面板上,左侧元件类型框下方的文本框中,输入实例名"photo"。
提示:将该实例命名为photo,虽说与场景中的实例同名,但调用时,不会发生混淆。因为一个是场景中的,一个是元件中的。
实例photo的中心应与元件glass中心重合。
⑻将bigphoto图层拖至镜片图层下方,选中镜片所在图层后,单击右键,然后单击"遮罩层"。
提示:这是用"镜片"遮罩图像,即,只有镜片范围内的图像能显示。
镜框和手柄所在图层在上,还是在下均可,关键是,bigphoto图层一定要在镜片图层下方。
⑼新建一个"按钮"类型的元件,命名为"butt"。选中"点击"下方的框(该框变成蓝色),然后按F7。
⑽将镜片复制粘贴到butt元件的中心处。Butt的编辑工作即告完成。
⑾回到元件glass编辑状态,新建一个图层,将按钮butt,从库面板中拖至第1帧。
⑿选中按钮,打开"动作"面板,将左侧的视图模式改为"专家模式",在框中输入:
on (press) {
if (_root.pickup == 1) {
_root.pickup = 0;
} else {
_root.pickup = 1;
}
}
提示:on是鼠标事件;press是按下左键触发。
然后将视图模式,改为标准模式,如果不报错,即输入正确。
上述语句是,实现放大镜"拿起"、"放下"。
⒀在场景中,新建图层 3,双击第1帧,然后在"动作"面板中,使用"专家模式",输入:
if (pickup == 1) {
Mouse.hide();
startDrag("glass", true);
_root.glass.photo._x = 265-_xmouse;
_root.glass.photo._y = 200-_ymouse;
} else {
Mouse.show();
stopDrag();
}
提示:_root的语法是:_root.moiveClip。moiveClip是影片剪辑实例的名称。属性:指定或返回指向当前影片剪辑实例的根。
上述等式,计算当鼠标移动时,影片剪辑实例glass中photo相对鼠标的移动距离。Flash中用_xmouse和_ymouse获得鼠标的位置坐标。265、200分别是鼠标的初始X、Y坐标值。当鼠标移动时,移动距离可由_xmouse-265和_ymouse-200确定。由于图像与glass中心对齐,因此,移动时,它们的相对距离X=265-_xmouse,Y=200-_ymouse。
StartDrag的动作是:让目标影片剪辑实例能在播放时被拖动,直至用stopDrag方法停止拖动。语法是:StartDrag(target,[逻辑值])。Target要拖动的影片剪辑的名称,本例中是"glass";逻辑值true表明被拖动的影片剪辑是锁定到鼠标位置中央。
Mouse.hide()和Mouse.show()隐藏、显示鼠标。
⒁图层 3第2帧,按F7,并双击,在"动作"面板中,使用"专家模式",输入:
gotoAndPlay(1);
上述操作完成后,放大镜制作完成。在测试成功后,将该文档保存。
3 制作关键
三个脚本添加和两个实例命名。
脚本,分别添加到:图层3的第1帧和第2帧(都是空白关键帧),以及元件glass中的按钮上。
实例,一个是,场景中的glass,另一个是glass元件中的图像,也就是bigphoto图层上的图像。
4 特别说明
如果鼠标单击放大镜后,放大镜不随鼠标移动,或虽说随鼠标移动,但镜片中的图像不变化,故障原因是:放大镜实例或其中的图像实例,没有命名。或者两者的名字与动作脚本中的不符。