我有几个类。
我的文档类(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声音)
如果这种情况只发生在第一次播放声音时,可能是由于解压缩问题。我放弃下载延迟,因为你告诉我你已经在预装器或类似的东西中加载了所有的声音。
就像我所说的,如果这种只发生在第一次,一个变通方法是在预加载时间播放所有声音,但要静音。
示例:
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;
}