快速业务通道

一个放大效果

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-10


在书上看到的一个放大效果,结合自己的理解,写出来。看一下效果先:
点击浏览该文件
http://www.flash8.net/bbs/UploadFile/2004-7/200472215536232.swf
思路:通过_xscale_yscale来实现放大效果;
1. 创建位图的影片剪辑
把一张图片导入到库,大小设为300×450,把这个元件名为image;回到场景中,拖入image实例。把image元件的实例名命为image_mc。好了,这个影片剪辑完毕。
2. 创建放大基本形状影片剪辑
ctrl+F8创建一个新影片剪辑,命为magnifier。进入它的编辑状态,画一个圆,用放射状渐变填充它,但注意颜色透明度应小于100,这样才能让下面的图片看得到。好了,这个影片剪辑完毕。
按此在新窗口浏览图片
3. 创建放大效果影片剪辑
ctrl+F8,新建影片剪辑,命名zoom;进入zoom的编辑状态。将第一层名为image;选择第一帧,从库中拖入一个image实例。
image层上新建一层,名为mask,选择第一帧,拖入magnifier实例,水平垂直居中。
mask层上新建一层,名为zoom,选择第一帧,拖入magnifier实例,水平垂直居中。
选择mask层,将其设为遮罩层。在image实例上写入以下代码:
onClipEvent(load){ //放大图片
_xscale=_root.Slider*100;
_yscale=_root.Slider*100;
}
onClipEvent(enterFrame){ //修正放大图片后的坐标,下面解释。
_x=(_root.image_mc._x-_root.ZoomTool._x)*_root.Slider;
_y=(_root.image_mc._y-_root.ZoomTool._y)*_root.Slider;
}
按此在新窗口浏览图片
OK,这个影片剪辑完毕。
4. 主场中的帧脚本
(1) 回到主场中,在第一层上创建一个新层,命为zoom,拖入zoom实例,将其实例名为ZoomTool(2) 创建一个新层,名为as,在该层的第一帧写以下代码: Slider=1.5; //确定放大倍数。
ZoomTool.startDrag(true); //让放大镜的影片剪辑可以拖动。
测试效果。对修正放大图片后的坐标的解释:
下图蓝色框代表放大后的图片(也就是ZoomTool中的被遮罩的image.),红色框代表原始图片(也就是主场景中的image);放大后,它们的位置关系如图所示,虽然有放大,但是你会发现放大镜中的图像和背后的原始图片对不上(你可以试着把这段代码删掉试一下),我们要改成右图所示的位置关系。图画出来就很好理解了。计算关系就是下面这个式子。按此在新窗口浏览图片

关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号