2013-12-20 112 views
0

我有一個變量設置如何將特定音效設置爲特定音量?

var vol = 0.25; 

這個變種變化對需求和正常工作。

在我的Flash遊戲中,我在movieclips上有一些聲音效果,只有當電影剪輯正在播放時纔會發出聲音。

我想在一個as3文件中將所有音效設置爲相同的音量。

雖然我在as3的時間軸上播放了我的聲音,但有沒有辦法將所有聲音都集中在一個as3文件中,以便將它們全部設置爲特定音量。

我在想是這樣的:

var isSoundOn = true; 
if (isSoundOn == true) { 

    // get all sounds that i would like to change volume on 
    // if in game play and any of the sound effects are ready - play all these sounds with my specific volume setting. 

} 

我的代碼看起來有點像這樣可是不行的

在FlashDevelop中...我的主類...

public class Platformer extends GameLoop 
{ 
public var redMonster:RedMonsterFla; 
public var SoundFxVol:Number; 


public function Platformer() 
{ 



} 

    // here i have functions that open a popUp 
    // inside the popUp i can change variable "SoundFxVol" with my volume slider 


    // here i would like to set my volume to some of my movieClips with soundFx 

public function set VolumeForSoundEffects(value:Number):void 
{ 
    // set array of movieClipsThatContainSound 


    var movieClipsThatContainSound:Array = new Array(redMonster); 

    var st:SoundTransform = new SoundTransform(value); 

    SoundFxVol = value; 

    for each(var mc:MovieClip in movieClipsThatContainSound ) mc.soundTransform = st; 
} 

public function get VolumeForSoundEffects():Number 
{ 
    return SoundFxVol; 
} 

}

我閃光我有一個movieClip叫RedMonster與as3的庫鏈接RedMonst erFla; 關於redMonster MovieClip我有很多標籤,其中之一是跳 - 這有一個聲音。 redMonster時間軸上沒有代碼。

回答

1

您可以使用影片剪輯'soundTransform屬性來調整在其中播放的聲音的音量。但是,你不能設置一個var並獲取所有依賴的對象來調整自己,所以編寫一個setter屬性函數。

private var vol:Number=1.0; 
public function set volume(value:Number):void { 
    var st:SoundTransform=new SoundTransform(value); 
    vol=value; 
    for each (var mc:MovieClip in whateverArray) mc.soundTransform=st; 
} 
public function get volume():Number { return vol; } 

whateverArray應該是保持所有電影剪輯實例依賴於這裏設定卷的陣列。

+0

這聽起來不錯,謝謝我會試試這個。 – user3102529

+0

我不知道什麼即時做錯了,我創建了我的var var(redMonster:RedMonsterFla;)連接到我的庫movieclip,我把redMonster放入我的數組(var movieClipThatContainsSound:Array = new Array(redMonster);)但它有同樣響亮的音量,我追蹤了我的音量變量,當我使用音量滑塊時,音量變化。 – user3102529

+0

嗨即時通訊相當新的獲取和設置功能,我在哪裏叫他們做這項工作?我也更新了我的問題。 – user3102529

相關問題