最后,我们双击主场景第1帧设置Actions为Start
Drag("/zoom", lockcenter)。这样放大镜就会随着鼠标移动了。按Ctrl-Enter测试一下效果,怎么样,还不错吧。
可能大家还有许多疑问,做是做完了,可是还不大明白。我现在就几个重要的问题再详细解释一下。
首先,要做放大镜效果,我们先要做好一个包含有图片的电影片断类图符。用它产生两个实例,一个原来大小,用作放大后的效果制作,一个缩小一些,用作放大前的图片。原来大小的实例用在含有放大镜的图符中作被遮罩层,缩小了的实例用在主场景中作背景图。
然后,我们需要明白的一点是,因为单独的遮罩层(放大镜)不能做成电影片断,所以为了实现鼠标拖动的效果,必须把遮罩层(放大镜)和被遮罩层(放大后的图片)一起做成电影片断。在主场景中,把这个电影片断拖进来,这时由于遮罩的技术,只能显示出放大镜镜片里的内容,从而实现了放大效果。但要注意的是,因为属于同一个电影片断,遮罩层和被遮罩层将同时移动,所以不加控制的话,放大镜中将始终显示同样的内容。因此我们要在这个电影片断移动时,把被遮罩层(放大后的图片)向回移动一段距离,这样放大镜中的内容才能有所变化。
最关键的问题是,到底被遮罩层该移动多少距离呢。我们来看下面这幅示意图。下面左图所示为主场景中放大前的小图,注意因为主场景中原点的位置在左上角,这与我们在图符zoom中原点在中心是不同的。在最初时两图的中心是重合的,也就是小图的(225,200)点与zoom中的(0,0)点重合。我们可以想像当放大镜移动到小图的(0,0)点即左上角时,zoom中的放大图的左上角也必须位于放大镜的镜片下,也就是说zoom中大图的中心必须相对于放大镜移动到(450,400)位置。注意到zoom中放大图的中心位置坐标是相对于图符zoom或者说是放大镜而言的,因为这种移动是线性的,我们可以根据上面的已知条件列出下列方程:
|