2001.8.9 花蓮縣立 花崗國中 校內同仁暑期 Flash 5 練功房  回首頁主選單

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

(完成指令的) 原始檔 (內附說明)


道場
本校電腦教室 B
總教頭
王建忍老師 熱情義助
工程師
黃清順、陳俊甫老師 鼎力襄贊
助教
謝盛智、江梅英老師 熱情指導
主辦單位
花崗國中教師會
彙辦
教師會理事 教務處 劉樞遠 主任
版權所有
王建忍 Copyright (c) 1999-2014 by Edson Wang. All rights reserved.