編者按:authorware是我們制作課件時常用的工具。在authorware中,要想隨心所欲地控制課件中音樂的音量不是那么容易。平時也看到過一些介紹控制音量的文章:有的是用兩個按鈕來控制,一個控制音量增大,一個控制音量減小;另外也有用滑動條來實現的。以上方法往往都要用外部函數來實現,而且效果并不能盡如人意--用按鈕控制的話不夠直觀,而用滑動條控制又不能實時改變音量,必須等鼠標松開后才能改變。下面介紹一種筆者目前使用的方法,全部使用authorware內部控件和函數,實現了滾動條實時拖動控制音量的目的。
制作思路
插入聲音時,并不是用常用的聲音圖標插入所需聲音,而是用directmediaxtra來導入所需聲音,然后用系統函數callsprite進行聲音音量的動態設置。
制作方法
1. 啟動authorware7.0(在authorware5.22中制作方法類似),新建一個文件,保存為“音量控制.a7p”。
2. 單擊“插入→tabuleiro xtras→directmediaxtra”命令,出現directmediaxtra屬性對話框,單擊[瀏覽文件]按鈕,打開所需的聲音文件。這里值得一提的是,directmediaxtra支持的聲音類型比較多,midi類型的文件也是支持的。回到主流程線,將默認的directmediaxtra圖標名稱命名為“sound”.
3. 在主流程線上拖入一個顯示圖標,命名為“diban”,利用authorware自帶的工具制作出如圖1所示的畫面,作為音量控制的背景。
4. 繼續在主流程線上拖入一個顯示圖標,命名為“biao”,用圖形工具畫一個橢圓,這個橢圓在后面的設置中可以拖動,從而改變音量的大小。
接下來在“biao”顯示圖標的屬性面板中進行如下的設置:“位置”屬性選擇“在路徑上”,“活動”屬性也選擇為“在路徑上”。然后單擊剛才繪制的橢圓,進行路徑的設置。這里要注意兩點:一是路徑的長度和位置跟“diban”中的三角形的長度和位置吻合,二是路徑的起點在右側,終點在左側(圖2)。
繼續在屬性面板中進行如下的設置:基點位置值為“0”,初始值為“-10”,終點值為“-100”。整個面板設置如圖3所示。
到此為止,我們已經完成了初步的設置,下面對以上的設置作一個說明:
因為是用directmediaxtra導入的聲音,音量的高低是可以設置的,最高時值為0,最低時為-100,所以,在設置“biao”顯示屬性時,我們把它設置成可以在一個特定的路徑上移動,并且起點值為0,終點值為-100,這樣就與音量的高低對應起來。在下面的制作中,我們將用另外一個系統變量pathposition來獲得“biao”顯示圖標中橢圓被拖動后在路徑上的值,再利用系統函數callsprite來進行設置,從而達到改變音量的目的。
5. 在主流程線上拖入一個計算圖標,命名為“音量初始化”,雙擊打開,輸入如下內容:
callsprite(@"sound", #setvolume ,int(pathposition@"biao"))
在第四步中,我們將顯示圖標的初始位置設置為“-10”,這里我們通過系統變量pathposition@"biao"就可以獲得這個值。因為這個值默認有兩位小數,所以再用int函數將它進行取整。
再用callsprite函數對聲音音量進行設置,這樣啟動程序時,聲音的音量就為-10。
6. 在主流線上拖入一個交互圖標,命名為“音量控制”,在交互圖標的右側拖入一個群組圖標,選擇類型為“條件”,選定該條件響應,在屬性面板中,選擇“條件”標簽,將條件設置為“mousedown”;再選擇“響應”標簽,將“永久”選項選中(如圖4、圖5所示)。
7. 雙擊“mousedown”條件交互下的群組圖標,在二級流程線上拖入一個決策圖標,命名為“判斷”,選定決策圖標,在屬性面板中,在“重復”右側中選擇“直到判斷值為真”,然后在下方中輸入條件為“~mousedown”。這樣,只要鼠標按下就會一直進行循環判斷。在決策圖標右側拖入一個計算圖標,命名為“設置音量”,雙擊圖標輸入如下內容:
callsprite(@"sound", #setvolume ,int(pathposition@"biao"))。
運行程序,拖動橢圓圖形,音量就會隨之改變大小了。在測試的過程中,我發現如果聲音減小到-40的話,幾乎就聽不到了,所以以上的程序還可以進行一些改進,也就是將路徑的終點值設置為-40,這樣的話更符合使用習慣,有興趣的讀者不妨一試。整個程序的流程圖和運行后的界面如圖6所示。
新聞熱點
疑難解答