中文国产日韩欧美视频,午夜精品999,色综合天天综合网国产成人网,色综合视频一区二区观看,国产高清在线精品,伊人色播,色综合久久天天综合观看

[AS功能代碼教程14] 魚(yú)眼放大鏡 -電腦資料

電腦資料 時(shí)間:2019-01-01 我要投稿
【www.szmdbiao.com - 電腦資料】

本節(jié)加了星號(hào),借黑羽的話(huà):“本節(jié)的內(nèi)容稍微有些難度,如果不明白,可以暫時(shí)不看,待日后碰到類(lèi)似問(wèn)題時(shí),再來(lái)查閱”

下面我們先用圖解法來(lái)解釋一下本實(shí)例

思路:

1.魚(yú)眼放大鏡是于若干個(gè)漸小的圓組成的;

2.使每個(gè)圓都去遮罩一個(gè)漸大的圖片來(lái)實(shí)現(xiàn),里面的小圓遮罩大較圖片,外面的大圓遮罩較小圖片;

3.還有最后一個(gè)重要的步驟是"對(duì)焦",由于圖片是漸大的,所以鼠標(biāo)所在的一個(gè)點(diǎn)位對(duì)于小圖來(lái)說(shuō)也許是頭部,而對(duì)于大圖來(lái)說(shuō)也許都到了場(chǎng)外,那么顯示出的效果就錯(cuò)了,

[AS功能代碼教程14] 魚(yú)眼放大鏡

。使用"對(duì)焦"可以讓鼠標(biāo)指在小圖上是頭部,大圖上也要是頭部,這么說(shuō)給大家一個(gè)印象,下面請(qǐng)看圖解.

圖解:

1.首先在舞臺(tái)上放入兩個(gè)影片剪輯,其中一個(gè)是圖片,實(shí)例名"pic",注冊(cè)點(diǎn)在左上(0,0);另一個(gè)是圓,大。200*200,實(shí)例名"ball",注冊(cè)點(diǎn)在中心;

2.魚(yú)眼放大鏡是于若干個(gè)漸小的圓組成,讓這些圓作為鏡片,重疊在一起,同時(shí)成像,圓(鏡片)的數(shù)量越多,成像效果越細(xì),圖中數(shù)量為3

代碼如下:

var Count:Number = 3;
//復(fù)制圓(鏡片)的數(shù)量
for (var i = 0; i
< Count; i++) {

 var b = ball.duplicateMovieClip("B"+i, i*2+1);
 //復(fù)制圓
 b._xscale = b._yscale=(1-i/Count)*100;
 //圓的縮放= (1-第i個(gè)圓/圓的數(shù)量)*100,例:100~90~80~70
}

3.每個(gè)圓都加載一個(gè)漸大的圖片,先來(lái)創(chuàng)建這些漸大的圖片,圖的數(shù)量為3

代碼如下:

var Count:Number = 3;
//復(fù)制圓(鏡片)的數(shù)量
var Zoom:Number = 0.08;
//圖片放大的遞增倍數(shù)
for (var i = 0; i
< Count; i++) {

 var dif = 1+i*Zoom;
 //縮放比(dif)為遞增量,例:1.00~1.08~1.16~1.24...
 var p = pic.duplicateMovieClip("P"+i, i*2);
 //復(fù)制圖片
 p._xscale = p._yscale=dif*100;
 //圖片縮放=遞增量*100,例:100~108~116~124...
}

4.綜合上述實(shí)現(xiàn),里面的小圓遮罩大較圖片,外面的大圓加載較小圖片,再加入一句保存初始縮放比的語(yǔ)句

var Count:Number = 30;
//復(fù)制圓(鏡片)的數(shù)量
var Zoom:Number = 0.08;
//圖片放大的遞增倍數(shù)
for (var i = 0; i
< Count; i++) {

 var dif = 1+i*Zoom;
 //dif為遞增量,例:1.00~1.08~1.16~1.24...
 var b = ball.duplicateMovieClip("B"+i, i*2+1);
 //復(fù)制圓
 b._xscale = b._yscale=(1-i/Count)*100;
 //圓的縮放= (1-第i個(gè)圓/圓的數(shù)量)*100,例:100~90~80~70
 b.Zoom = dif;
 //保存圖片的縮放比
 var p = pic.duplicateMovieClip("P"+i, i*2);
 //復(fù)制圖片
 p._xscale = p._yscale=dif*100;
 //圖片縮放=遞增量*100,例:100~108~116~124...
 p.setMask(b);
 //進(jìn)行遮罩
}

5."對(duì)焦"

請(qǐng)大家看一看下面的演示動(dòng)畫(huà),也許能讓你了解他的含義

這是兩張沒(méi)有"對(duì)焦"的圖片,大家注意,如果鼠標(biāo)在小圖的紅星位置,那么對(duì)于大圖來(lái)說(shuō),也許是人物的臉部,而不是大圖的紅星位置

這是兩張執(zhí)行"對(duì)焦"后的圖片,如果鼠標(biāo)在小圖的紅星位置,那么對(duì)于大圖來(lái)說(shuō),也要在紅星位置上

如何實(shí)現(xiàn)"對(duì)焦"功能,請(qǐng)看下面代碼:

_root.onMouseMove = function() {
 for (var i = 1; i <= Count; i++) {
  var balls = this["B"+i];
  balls._x = _xmouse;
  balls._y = _ymouse;
  //使每個(gè)鏡片都跟著鼠標(biāo)移動(dòng)
  this["P"+i]._x = _xmouse-(_xmouse-pic._x)*balls.Zoom;
  this["P"+i]._y = _ymouse-(_ymouse-pic._y)*balls.Zoom;
  //調(diào)整每個(gè)復(fù)制出的圖片的位置
  //新的位置 = 鼠標(biāo)位置 — (鼠標(biāo)位置 — 原圖pic的位置) * 縮放比
 }
};

根據(jù) "對(duì)焦" 公式:

新的位置 = 鼠標(biāo)位置 — (鼠標(biāo)位置 — 原圖pic的位置) * 縮放比

本實(shí)例中,原圖pic的位置為左上(0,0)點(diǎn),所以,公式可以變形為:

新的位置 = 鼠標(biāo)位置 — 鼠標(biāo)位置 * 縮放比

這個(gè)公式也是本節(jié)的難點(diǎn),就以原圖位置在左上(0,0)為例

如果鼠標(biāo)在右邊,那么新位置肯的為負(fù)數(shù),新位置向左移,因?yàn)榭s放比是大于1.00的數(shù);反之,則是兩個(gè)負(fù)數(shù)相加,新位置向右移

好的,整個(gè)思路就這些,下面給出完整過(guò)程

步驟1:

首先在舞臺(tái)上放入兩個(gè)影片剪輯

其中一個(gè)是圖片,實(shí)例名”pic”,注冊(cè)點(diǎn)在左上(0,0);

另一個(gè)是圓,大小:200*200,實(shí)例名”ball”,注冊(cè)點(diǎn)在中心

步驟2:

在第一幀加入AS代碼

var Count:Number = 30;
//復(fù)制圓(鏡片)的數(shù)量
var Zoom:Number = 0.08;
//圖片放大的遞增倍數(shù)
for (var i = 0; i < Count; i++) {


 var dif = 1+i*Zoom;
 //dif為遞增量,例:1.00~1.08~1.16~1.24...
 var b = ball.duplicateMovieClip("B"+i, i*2+1);
 //復(fù)制圓
 b._xscale = b._yscale=(1-i/Count)*100;
 //圓的縮放= (1-第i個(gè)圓/圓的數(shù)量)*100,例:100~90~80~70
 b.Zoom = dif;
 //保存圖片的縮放比
 var p = pic.duplicateMovieClip("P"+i, i*2);
 //復(fù)制圖片
 p._xscale = p._yscale=dif*100;
 //圖片縮放=遞增量*100,例:100~108~116~124...
 p.setMask(b);
 //進(jìn)行遮罩
}
_root.onMouseMove = function() {
 for (var i = 1; i <= Count; i++) {
  var balls = this["B"+i];
  balls._x = _xmouse;
  balls._y = _ymouse;
  //使每個(gè)鏡片都跟著鼠標(biāo)移動(dòng)
  this["P"+i]._x = _xmouse-(_xmouse-pic._x)*balls.Zoom;
  this["P"+i]._y = _ymouse-(_ymouse-pic._y)*balls.Zoom;
  //調(diào)整每個(gè)復(fù)制出的圖片的位置
  //新的位置 = 鼠標(biāo)位置 — (鼠標(biāo)位置 — 原圖pic的位置) * 縮放比
 }
};

最新文章