2014-04-12 70 views
-1

我的問題是,我想實現擊鍵聲音(它被稱爲「TextBeep」,鏈接名稱也是「TextBeep」,它是一個.WAV文件)正在播放打字機效果文字。所有文字一出現,聲音就會停止。如何向Actionscript 2.0中的打字機效果代碼添加聲音

我該怎麼做?我一直在尋找年齡,但只有ActionScript 3.0和我使用的代碼沒有。我正在使用Adobe Flash CS4。

這裏是我使用的代碼:

var effectTxt:String = _root.effect.text; 
    _root.effect.text = ""; 
    var startEff:Number = 1; 
    _root.onEnterFrame = function() { 
     if (effectTxt.length>=startEff) { 
      _root.effect.text = effectTxt.substr(0, startEff); 
      startEff++; 
     } 
     else { 
     delete _root.onEnterFrame} 
    }; 

如果有人能告訴我如何得到它,以便將幀開始就可以立即自動啓動和文本開始出現,然後停止聲音畢竟文字已經出現,那將是偉大的。另外,如果你不介意你能否解釋你爲未來的項目做了些什麼。謝謝!

回答

1

所以聲音效果不是一個單一的「點擊」,但多重和足夠長,不需要循環,對嗎? 而不是enterFrame,使用setInterval,可以更好地控制打字速度...

var effectTxt:String = _root.effect.text; 
_root.effect.text = ""; 
var startEff:Number = 1; 
var firstLetter:Number = 0; 
mySound = new Sound(); 
mySound.attachSound("TextBeep"); 
writeText = setInterval(write, 100); // 100 means one character every 1/10 of second 


function write() { 
// launch the sound just at the first letter 
firstLetter != 1 ? mySound.start() : null; 
// use start(0,10) if you need to loop it ten times. 
firstLetter =1; 
    if (effectTxt.length>=startEff) { 
     _root.effect.text = effectTxt.substr(0, startEff); 
     startEff++; 
    } else { 
     mySound.stop(); 
    clearInterval(writeText); 
};