我有几节课。
我的文档类(Main.as)实例化类播放器和Soundsloader。
在玩家类中,当玩家在游戏中拾取一个项目时,我想播放一个短小的声音。我使用以下代码执行此操作:MovieClip(this.main_object.sound_loader).playPickUp();
在我的文档类中,我还实例化了SoundsLoader,它基本上应该加载所有声音。 (我的示例代码只有一个)
package {
import flash.display.MovieClip;
public class SoundsLoader extends MovieClip{
private var pick_up_item:sound_pickup_item = new sound_pickup_item;
public function SoundsLoader() {
}
public function playPickUp(){
pick_up_item.play();
}
}
}
然而,当我使用这些方法时,我的swf文件冻结片刻,播放声音然后继续。那么这样做的最佳方法是什么? (我正在使用.wav声音)
答案 0 :(得分:3)
如果这只是在您第一次播放声音时发生,可能是由于解压缩问题。我放弃了下载延迟,因为你告诉你已经加载了预加载器中的所有声音或类似内容。
就像我说的,如果仅在第一次发生时,一种解决方法是在预加载时播放所有声音,但是静音。
示例:
public function SoundsLoader() {
var songController:SoundChannel = pick_up_item.play();
var volControl:SoundTransform = songController.soundTransform;
volControl.volume = 0;
songController.soundTransform = volControl;
}
或者
public function SoundsLoader() {
var songController:SoundChannel = pick_up_item.play();
songController.stop;
}