- 下載母檔:請按此處下載空白母檔,並存在「我的文件」夾中。然後打開它。
- 觀念構思:
■按鈕只能「一個指令、一個動作」,不能產生連續的動作。
■希望利用「主場景」連續播放的影格,能替我作連續運作的「經紀人」。
■希望每個按鈕只要輸入「參數」,「經紀人」就會替我盤算。
- 預置元件:空白母檔中「元件」的分佈如下:
■此時你如打開右下角的「
圖庫」也可以看到以下說明。
影片按鈕:母檔中的「兩個綠色球」均為影片元件內包按鈕元件。
■因為 Flash 只會拖曳「影片元件」,為了要叫按鈕拖曳自已,所以只好將「按鈕元件」再轉按成「影片元件」。
- 影片命名:
■請在上方「綠球」按右鍵選「面板 → 實體」。在面板中「名稱」欄位填入「balance」。(這是我們給指針取的名字,以便程式呼叫它)
■選「↖ 箭頭工具」,輕觸下方「綠球」按右鍵。再在實體面板「名稱」欄位填入「volume」。
- 拖曳綠球:
■選「↖ 箭頭工具」,(左鍵)雙擊上方綠球,左上方出現「
才對」,此時再對綠球按右鍵選「面板 → 動作」,叫出動作面板。在跳出的指令面板上按「+ 」然後選「動作 → evaluate」,在下方「表示式」欄位填入下列指令
startDrag ("", false, _root.vxo, _y,
_root.vxo+100, _y);
// 意即按下此鈕時,強制綠球只能在一有限的直線上運動
// 上:_y → 綠球座標
// 下:_y → 綠球座標
// 左:_root.vxo → 全程左端(其中 vxo 是自設變數,代表左端座標)
// 右:_root.vxo + 100 → 全程右端(代表右端座標,全長 100)
■將滑鼠移至此句最下方「}」上,(左鍵)輕觸一下,在指令面板上按「+ 」然後選「動作 → evaluate」,在下方「表示式」欄位填入下列指令
stopDrag ()
//意即當滑鼠放開時,不要拖曳此綠球。
- 預設變數:
■(左鍵)輕觸「指令」圖層的第一影格,在指令面板上按「+ 」然後選「動作 → evaluate」,在下方「表示式」欄位依次填入下列指令
vxo = volume._x;
// 預先畫好之母圖舞台中 volume 球是在紅桿的「正中間」
// 記下 volume 球的「橫座標」並存於變數 vxo 中,以此位置作「原點」
bxo = balance._x;
// 預先畫好之母圖舞台中 balance 球是在紅桿的「左端」
// 記下 balance 球的「橫座標」並存於變數 bxo 中,以此位置作「原點」
water = new Sound();
// 建立一個叫 water 的「聲音物件」。
// 在 Flash 5 中要使用聲音的特殊功能時,必須先將之作成物件。
water.attachSound("water");
// 由「圖庫」中叫出已「連結」的 water 聲音,並將之貼附於剛建立之「water 聲音物件」。
volume._x = vxo + 100;
// 預設綠球只能在 0∼100 的範圍中移動
// 先將 volume 球送至最右端,讓音量達到 100
- 播放音樂:
■(左鍵)輕觸「播放音樂」圖層的第一影格,在指令面板上按「+ 」然後選「動作 → evaluate」,在下方「表示式」欄位填入下列指令
water.start(0, 10000000);
// water 是聲音物件,start 是開始播放,
// (0, 10000000) 中 0 表示由音樂最起始開始播放,10000000 是重播的次數。
- 控制平衡:
■(左鍵)輕觸「指令」圖層的第二影格,在指令面板上按「+ 」然後選「動作 → evaluate」,在下方「表示式」欄位填入下列指令
water.setPan((balance._x-bxo)*2);
// water 是聲音物件,setPan 是設定左右聲道的平衡,
// balance._x 是綠球的橫座標,bxo 是全長的「中心」原點,
// 因為全長 100 所以 (balance._x-bxo) 是在 -50∼50 之間
// 所以乘 2 之後恰介於 -100∼100 之間
//這句指令是「將綠球 balance 的橫座標,轉換成聲音物件的左右平衡音量」。
- 控制音量:
■再在指令面板上按「+ 」然後選「動作 → evaluate」,在下方「表示式」欄位填入下列指令
water.setVolume(volume._x-vxo);
// water 是聲音物件,setVolume 是設定聲量的大小,
// volume._x 是綠球的橫座標,vxo 是全長的「左端」原點,
// 因為全長 100 所以 (volume._x-vxo) 是在 0∼100 之間
//這句指令是「將綠球 volume 的橫座標,轉換成聲音物件的音量大小」。
- 重覆播放:
■(左鍵)輕觸「指令」圖層的第三影格,在指令面板上按「+ 」然後選「動作 → evaluate」,在下方「表示式」欄位填入下列指令
gotoAndPlay (2);
- 觀察成果:按 F12 看看指令是否生效。
(完成指令的) 原始檔 (內附說明)
|