天才教育網(wǎng)合作機(jī)構(gòu) > 設(shè)計(jì)軟件培訓(xùn)機(jī)構(gòu) > Flash培訓(xùn)機(jī)構(gòu) >

東莞設(shè)計(jì)培訓(xùn)網(wǎng)

歡迎您!
朋友圈

400-850-8622

全國(guó)統(tǒng)一學(xué)習(xí)專線 9:00-21:00

位置:設(shè)計(jì)軟件培訓(xùn)資訊 > Flash培訓(xùn)資訊 > Flash動(dòng)畫(huà)的“遮丑”研究

Flash動(dòng)畫(huà)的“遮丑”研究

日期:2005-12-23 00:00:00     瀏覽:273    來(lái)源:東莞設(shè)計(jì)培訓(xùn)網(wǎng)
長(zhǎng)久以來(lái),我們?cè)谥谱?a href="#">動(dòng)畫(huà)的時(shí)候很少關(guān)心“遮丑”問(wèn)題,一至于有些看起來(lái)制作挺好的作品,在發(fā)布的時(shí)候因?yàn)楫?huà)面的寬度超過(guò)了影片的寬度而使場(chǎng)景外的東西在發(fā)布的網(wǎng)頁(yè)或者說(shuō)是播放的影片中展露出來(lái),會(huì)使你感覺(jué)束手無(wú)策。一個(gè)小問(wèn)題就上升到了一個(gè)引起關(guān)注的程度上來(lái),自然在網(wǎng)絡(luò)中,就有人寫(xiě)出了這方面的文章,加以研究,高手也都會(huì)用“遮丑”把自己不想展露的東西遮擋起來(lái),可是有些時(shí)候普通制作的“遮丑”也不是完全能起作用,下面我們看一個(gè)例子:


遮丑無(wú)效的效果

這里上下的黑邊是我作的“遮丑”,其實(shí)這里“遮丑”并沒(méi)起作用,并沒(méi)擋住雨滴在銀幕外出現(xiàn),用普通實(shí)現(xiàn)的“遮丑”在這里是不是不起作用?

  為什么會(huì)出現(xiàn)這樣的問(wèn)題?在這里我要多說(shuō)幾句,希望大家不要嫌煩!我們知道,FLASH動(dòng)畫(huà)是基于時(shí)間軸的線性動(dòng)畫(huà),而時(shí)間軸上有圖層,這樣就會(huì)出現(xiàn)一個(gè)圖層的級(jí)別問(wèn)題,也就是我們常說(shuō)的深度的問(wèn)題,上面的圖層總是覆蓋住下面的圖層,直接的說(shuō),就是深度值大的圖層遮蓋深度值小的圖層,而在flash中又規(guī)定了腳本的層級(jí)深度高于任何級(jí)別的場(chǎng)景中非腳本創(chuàng)建的影片層級(jí)深度,所以上面大家看到的下雨是我用腳本創(chuàng)建的一個(gè)下雨的效果,而遮丑是我用手工拖入到場(chǎng)景一個(gè)影片剪輯,這樣根據(jù)腳本的深度級(jí)別高于非腳本創(chuàng)建的影片剪輯深度級(jí)別,自然就會(huì)使“遮丑”失效,因?yàn)橄掠甑纳疃雀哂谟糜凇罢诔蟆庇捌糨嫷纳疃取H绾谓鉀Q“遮丑”失靈的問(wèn)題呢?下面我來(lái)談?wù)勥@方面的問(wèn)題。

  我們知道在FLASH腳本中,我所接觸到的涉及到深度的命令只有三個(gè)(我只是說(shuō)我所接觸到的)duplicateMovie();,attachMovie();,createEmptyMovie();分別是復(fù)制影片剪輯命令,創(chuàng)建位于庫(kù)中的影片剪輯,創(chuàng)建空的影片剪輯。而這三個(gè)命令的層級(jí)深度是在一個(gè)級(jí)別上的,也是處于*級(jí)別上的,所以這就給我們實(shí)現(xiàn)任何情況下都能實(shí)現(xiàn)“遮丑”提供了可能,我的思路是,用普通的方法創(chuàng)建一個(gè)“遮丑”影片剪輯,然后利用腳本調(diào)用,然后設(shè)置其深度,這樣就會(huì)避免出現(xiàn)上面出現(xiàn)的問(wèn)題了,而用腳本控制*的方法就是實(shí)現(xiàn)直接用腳本調(diào)用位于庫(kù)中的影片剪輯,就是用attachMovie();這個(gè)命令,下面我們看代碼:


_root.onLoad = function() {
attachMovie("zedang", "zedang", 10000);
this.zedang._x = Stage.width/2;
this.zedang._y = Stage.height/2;
};


其中zedang是我制作的“遮丑”影片剪輯的鏈接名,影片剪輯的注冊(cè)點(diǎn)在中心,在主場(chǎng)景中調(diào)用是讓其位于場(chǎng)景中心,所以我用了this.zedang._x = Stage.width/2;this.zedang._y = Stage.height/2;這樣不管你場(chǎng)景設(shè)置多大,都會(huì)保證這個(gè)“遮丑”位于場(chǎng)景的中心,深度我隨便設(shè)置為10000,我想你作一個(gè)影片不會(huì)有一萬(wàn)多個(gè)圖層吧,哈,這個(gè)如果你確實(shí)是圖層多,這里可以設(shè)置為10000000,也不是不可以的,這個(gè)腳本保證了在任何情況下都會(huì)把你的“丑”遮住的,不信?試試,下面我把源文件公布出來(lái),大家可以下載研究,也可以提出不同意見(jiàn),我的想法也可能不成熟,不過(guò)感覺(jué)還是不錯(cuò)的,在這里大家不要見(jiàn)笑喲。下面是我制作的完整的下遮丑效果及下雨的代碼腳本。

“遮丑”效果




_root.onLoad = function() {
Num = 200;
attachMovie("zedang", "zedang", 10000);
this.zedang._x = Stage.width/2;
this.zedang._y = Stage.height/2;
for (var i = 0; i attachMovie("yu", "yu"+i, i);
_root["yu"+i]._x = Math.floor(Math.random()*500);
_root["yu"+i]._y = Math.floor(Math.random()*400);
_root["yu"+i]._rotation = -32;
_root["yu"+i]._alpha = Math.floor(Math.random()*i);
_root["yu"+i]._xscale = _root["yu"+i]._yscale=25;
_root["su"+i] = (3+i/Num);
}
};
this.onEnterFrame = function() {
for (var k = 0; k this["yu"+k]._x += _root["su"+k];
this["yu"+k]._y += _root["su"+k];
if (this["yu"+k]._x>500) {
this["yu"+k]._x = 0;
}
if (this["yu"+k]._y>400) {
this["yu"+k]._y = 0;
}
}
};

如果本頁(yè)不是您要找的課程,您也可以百度查找一下: