其时很简单
图层3是正常显示的图片。
图层1是放大镜,遮罩层。
图层2是放大的图片,被遮罩。
问题是当移动放镜时,看到大图片时与显示的图片有极大的差别,因为放大的图片没有移动。那么,如何完美呈现放大效果呢,这需要计算小图,大图与放大镜这三者之间的坐标位置关系。
as2.0代码参考:
/*设置三个影片剪辑实例名,小图为xm_mc;大图为sm_mc;放大镜为bm_mc。
*将放大镜 大图片 小图片 中心对齐。计算出的放大率(常量)。
trace((bm_mc._x-xm_mc._x)/(xm_mc._x-sm_mc._x));
trace((bm_mc._y-xm_mc._y)/(xm_mc._y-sm_mc._y));
*/
//实时更新大图片的坐标位置。
this.onEnterFrame = function() {
var ghx = bm_mc._x-xm_mc._x;
var ghy = bm_mc._y-xm_mc._y;
sm_mc._x = xm_mc._x-ghx/0.246E;//0.246E 是计算得出的常量
sm_mc._y = xm_mc._y-ghy/0.235E;
};
//移动放大镜的代码已省略。需要知道as3.0代码和详细制作步骤的请赞一个或私信给我。