免費論壇 繁體 | 簡體
Sclub交友聊天~加入聊天室當版主
分享
Board logo

標題: 動感水珠 [打印本頁]

作者: 讓一切隨風    時間: 2013-10-5 16:59     標題: 動感水珠

[flash]http://www.webjx.com/img/flashs200409074.swf[/flash]




本帖隱藏的內容需要積分高於 100 才可瀏覽

作者: 讓一切隨風    時間: 2013-10-6 18:17

首先先放出水滴製作需要的圖片,其實自己也可以參考著圖片自行製作
[attach]1376[/attach]

1、在做這個效果之前我們首先需要製作一個水滴滴落的影片剪輯。製作一個水滴導入flash,並且製作一個水滴從小變大的補間動畫。
[attach]1377[/attach]

2、當水滴變大之後再讓這個水滴慢慢的滴落到下面。並且在開始滴落的時候讓水滴顫抖幾下(使用逐楨動畫做幾個大小變化)。
[attach]1380[/attach]

3、接下來需要製作一個透明按鈕(只要點擊區域),這個按鈕的功能就是讓鼠標放在水滴上的時候讓這個水滴滴落。
[attach]1379[/attach]

4、最後在上面再建立一個層,第一楨寫上楨標籤“start”,然後在水滴變大後加一個STOP楨,在STOP楨之後再插入一個標籤為“over”的空白關鍵楨。作用:當水滴由小變大之後就停止,這樣水滴就會顯示在舞台上,當鼠標移動到水滴上面就會播放over楨以後的內容,也就是讓水滴落下。
[attach]1381[/attach]

作者: 讓一切隨風    時間: 2013-10-6 18:33

下面就要進行程序編寫了。
1、首先來編寫按鈕上的程序,當鼠標按下或移動到它上面的時候就執行水滴落下的動畫
  1. on (release, rollOver) {
  2. gotoAndPlay("over");
  3. }
複製代碼
[attach]1382[/attach]

2、接下來要編寫的是帶有over標籤的關鍵楨,它的功能是獲取你整個動畫已經播放了的時間,單位是豪秒。因為就算不用鼠標點擊按鈕,過一段時間之後也要讓水滴自動落下。其中radomtime變量會在後面的程序中定義。它的功能是讓時間稍微有一些不同,這樣水滴就不會同時落下了。

  程序如下:
  1. starttime = getTimer()+8000+radomtime;
複製代碼

[attach]1383[/attach]


接下來製作舞台上的程序:
1、將剛才製作完畢的影片剪輯拖放到舞台當中,並將這個實例命名為“bol”。如圖
[attach]1384[/attach]

作者: 讓一切隨風    時間: 2013-10-6 18:41

2、選中這個實例,按F9打開動作面板,這裡要進行一些初始變量的設置。程序如下:
  1. onClipEvent (load) {
  2. radomtime = random(5);
  3. //設置一個用來控制時間差距的變量
  4. starttime = getTimer()+8000+radomtime;
  5. //設置一個獲取影片總共播放時間的變量,並且這個變量比影片播放總時間長8秒左右。
  6. }
  7. onClipEvent (enterFrame) {
  8. Timercheck = starttime-getTimer();
  9. //用starttime和影片播放的時間之差來控制水滴落下
  10. if (Timercheck<=0) {
  11. this.gotoAndPlay("over");
  12. }
  13. //如果影片播放的時間比剛才獲取到的starttime時間要長,那麼就讓水滴落下。
  14. }
複製代碼

[attach]1385[/attach]

3、接下來要對舞台上的實例進行複制了。新建立一個層用來放複製實例的代碼。

[attach]1386[/attach]

4、第一個關鍵楨的內容是設置複製數量的變量i的初始值。
i = 1;

[attach]1387[/attach]
作者: 讓一切隨風    時間: 2013-10-6 18:47

5、第二楨的程序主要是用來進行實例的複制。程序如下:
  1. radomscale = (random(4)+2)*26;
  2. //設置一個變量用來控制複製後對象的比例大小。
  3. duplicateMovieClip("bol", "bol"+i, i);
  4. //複製舞台上bol實例,將新復制出的對象命名為"bol"+i,深度為i
  5. setProperty("bol"+i, _x, random(400));
  6. setProperty("bol"+i, _y, random(300));
  7. //設置新復制出來對象的X、Y坐標,利用隨機函數。
  8. setProperty("bol"+i, _xscale, radomscale);
  9. setProperty("bol"+i, _yscale, radomscale);
  10. //利用剛才設置radomscale變量的值來對複制出來對象的比例大小進行控制。 X、Y比例相同,
  11. //這樣水滴的外觀不至於變形
  12. i++;
複製代碼

[attach]1388[/attach]

6、第三楨的程序是控制複製對象的數量。程序如下:
  1. if (i<=15) {
  2. gotoAndPlay(2);//如果復制出對象的個數不夠15個,就返回到第二楨繼續複製。
  3. } else {
  4. stop()//如果復制的個數夠15個的話就停止複制。
  5. }
複製代碼

[attach]1389[/attach]

最後按Ctrl+回車進行測試。




歡迎光臨 多姿多采 創作與製圖論壇 (http://colorful.joinbbs.net/) Powered by Discuz! 7.2