發新話題

飄雪(下雪)的四種製作方法

飄雪(下雪)的四種製作方法

飄雪動畫有很多製作方法,這裡介紹有代表性的四種。第一種是不用動作腳本直接畫的,我把它叫作「直畫法做飄雪」;第二、第三種是用腳本語句 duplicateMovie (複製)製作的,我把它叫作「複製法做飄雪」,為區別兩種複製法的不同,我把它們分別冠以 A 和 B ;第四種是用腳本語句 attachMovie (附加)製作的,我把它叫作「附加法做飄雪」。

雖然製作方法有些不同,但它們有很多的相同之處。例如,它們都要設置一個深色的背景,而且都要做雪花圖形元件,等等。設置舞台恕不贅述,這裡只介紹製作「雪花」圖形元件的一種方法:( 1 )選用直線工具,線高 1 ,白色,畫一寬度為 4 象素的直線,居中。( 2 )用「窗口 / 設計面板 / 變形」命令打開變形面板,設定「旋轉」 60 度,在面板右下方的「複製並應用變形」按鈕上單擊兩次。一朵六角形的雪花就畫好了。

四種不同的飄雪製作方法,主要是後期製作的差異。現將它們的後期製作分別介紹如下:


一、直畫法做飄雪

1 、製作一個名為「雪花 1 」 的影片剪輯元件。( 1 )把庫中的「雪花」圖片元件拖入舞台。插入一個引導層,在引導層的第 1 幀畫一根自上而下彎彎曲曲的引導線,在 100 幀插入幀。( 2 )選中圖層 1 的第 1 幀,用箭頭工具把雪花實例拖到引導線上方,並讓中心小圓緊套在引導線上;在第 100 幀插入關鍵幀,把雪花實例拖到引導線最下端套住。創建運動過程。( 3 )在圖層 1 的 50 幀插入關鍵幀。分別選中圖層 1 的第 1 幀和第 100 幀,把這兩幀上的雪花實例透明度設置為 30% 。

2 、用上述方法再製作一個「雪花 2 」 影片剪輯,所不同的是( 1 )把「雪花」實例拖進舞台後把它縮小一些;( 2 )引導線跟做「雪花 1 」 時的要有所變化。

3 、製作名為「雪花飄」的影片剪輯元件。選中圖層 1 的第 1 幀,分別把「雪花 1 」 、「雪花 2 」 元件拖三四個實例到舞台上,大約分散在設定好大小的舞台範圍內;新增圖層 2 、圖層 3 、圖層 4 ,分別在圖層 2 的第 10 幀、圖層 3 的 20 幀、圖層 4 的 30 幀插入空白關鍵幀,在這些空白幀對應的舞台中也加入一些「雪花 1 」 和「雪花 2 」 的實例。

4 、佈置場景。回到場景 1 ,選中第 1 幀,在舞台中間拖入 「雪花飄」元件的四個實例,把其中三個實例首尾相接地上下排列,並讓最底下一個放置在舞台中部,把第四個實例經水平翻轉後也放在舞台中部。至此,直畫法做飄雪就完成了。

二、複製法 A 做飄雪

1 、製作名為「雪花組」的圖形元件。選中圖層 1 的第 1 幀,把庫中的「雪花」圖形元件拖出 6 個實例,把大小作些調整,隨意分散在舞台上。

2 、製作名為「雪花飛」的影片剪輯元件。把庫中的「雪花組」圖片元件拖入舞台,然後參照上述直畫法中做「雪花 1 」 的步驟和要求進行操作。

3 、製作名為「雪花飛飛」的影片剪輯元件。選中圖層 1 的第 1 幀,把庫中的「雪花飛」元件拖入舞台,在屬性面板上為實例改名「 mc 」。

新增圖層 2 ,選中第 1 幀,輸入腳本語句:
引用:
i=0; // 設定初始值
在第 2 幀插入空白關鍵幀,輸入腳本語句:
引用:
i++;
duplicateMovieClip(mc,"mc"+i,i); // 複製影片剪輯實例
setProperty("mc"+i,_x,random(100)*6); // 設置實例的 X 坐標
在第 3 幀插入關鍵幀,輸入腳本語句:
引用:
if(i<60){
gotoAndPlay(2); // 當複製實例數小於 60 時,則繼續複製實例
} else {
gotoAndPlay(1);
}
4 、佈置場景。回到場景 1 ,選中第 1 幀,把庫中的「雪花飛飛」元件拖到舞台左上角。至此,複製法 A 做飄雪就完成了,測試存盤。

三、複製法 B 做飄雪

1 、製作名為「雪花舞」的影片剪輯元件。選中圖層 1 的第 1 幀,把庫中的「雪花」圖片實例拖入舞台,參照上述直畫法中做「雪花 1 」 的步驟和要求進行操作。

2 、佈置場景。

( 1 )回到場景 1 ,在圖層 1 的第 3 幀插入普通幀。選中第 1 幀,把庫中的「雪花舞」元件拖到舞台右下角,在屬性面板上為該實例改名為「 snow 」,並給此影片剪輯實例輸入腳本語句:
引用:
onClipEvent (enterFrame) {
x=this._x;
y=this._y;
a=this.alpha; // 取得 X 、 Y 坐標和透明度
setProperty(this,_x,x+random(10)-5);
setProperty(this,_y,y+random(10)+5); // 設置 X 、 Y 值使雪花產生擺動和下落
if(this._y=random(10)+100){
setProperty(this,_alpha,a-5); // 設置雪花透明度
}
if(a<=0){
removeMovieClip(this); // 如果透明度小於等於 0 ,刪除該實例
}
}
( 2 )新建圖層 2 ,在第 1 幀輸入如下語句:
引用:
i=0; // 設定初始值
在第2幀插入空白關鍵幀,輸入如下語句:
引用:
i=i+1;
duplicateMovieClip(_root.snow,"snow"+i,i); // 複製影片剪輯 setProperty(_root["snow"+i],_x,random(150));
setProperty(_root["snow"+i],_y,random(250)); // 設置 X 、 Y 坐標為隨機值 setProperty(_root["snow"+i],_xscale,random(80)+20);
setProperty(_root["snow"+i],_yscale,_root["snow"+i]._xscale); // 設置實例大小 setProperty(_root["snow"+i],_alpha,random(70)+20); // 設置實例透明度
在第3幀插入空白關鍵幀,輸入如下語句:
引用:
if(i<80){
gotoAndPlay(2); // 當複製實例數小於 80 時,則繼續複製實例
} else {
gotoAndPlay(1);
}
至此,複製法 B 做飄雪就完成了,測試存盤。

四、附加法做飄雪

1 、製作一個名為「 snow 」的影片剪輯元件。選中圖層 1 的第 1 幀,把庫中的「雪花」圖片實例拖入舞台 + 字花的正上方;在第 100 幀插入關鍵幀,把雪花實例拖到 + 字花的正下方,創建運動過程。把光標置於庫面板中影片剪輯 snow 名字處,按右鍵,點「鏈接」,給「為動作腳本導出」打上勾,其它默認。

2 、佈置場景。選中圖層 1 的第 1 幀,將 snow 元件拖到舞台中,為該影片剪輯元件輸入如下語句:
引用:
onClipEvent (load) {
this.visible = false;
v0 = 3; // 速度
num = 100; // 數量
vx = newArray(); // 記錄水平速度的數據
vy = newArray(); 記錄垂直速度的數據
for (var i = 1; i<=num; i++) {
_root.attachMovie("snow","snow"+i, i); // 附加 num 個影片剪輯實例
scale = 100*Math.random()+50; // 隨機設定實例大小
with (_root["snow"+i]) {
_xscale = scale;
_yscale = scale;
_x = 500*Math.random(); // 隨機出現在影片水平寬度範圍
_y = 400*Math.random(); // 隨機出現在影片垂直高度範圍
_rotation = 360*Math.random(); // 隨機旋轉一個角度
vx = v0*Math.random()+v0; // 隨機取得水平方向上的速度
vy = v0*Math.random()+v0; //// 隨機取得垂直方向上的速度
}
}
}
onClipEvent (enterFrame) {
for (var i = 1; i<=num; i++) {
with (_root["snow"+i]) {
_x += vx; // 在水平方向上坐標
_y += vy; // 在垂直方向上坐標
if (_x<0) { // 超出左邊界,從右邊進入
_x = 200;
}
if (_x>200) { // 超出右邊界,從左邊進入
_x = 0;
}
if (_y>300) { // 超出下邊界,從上邊進入
_y = 0;
}
}
}
}
至此,附加法做飄雪完成了。測試存盤。

TOP

發新話題

本站所有圖文均屬網友發表,僅代表作者的觀點與本站無關,如有侵權請通知版主會盡快刪除。