【发布时间】:2017-01-06 04:08:43
【问题描述】:
我正在为一个学校项目制作一个游戏,并且我有一个应该在发射激光时播放的音效。有一段时间它运行良好,但后来停止了。在它停止后,我稍微更改了代码,因为我想将文件存储在数据文件中。
在 Allegro 中初始化声音
install_sound(DIGI_AUTODETECT, MIDI_AUTODETECT, NULL);
这是加载和播放声音的代码
//Loading sound file from datafile
DATAFILE *laserShot = NULL;
laserShot = load_datafile_object("asteroids.dat", "laser_Shot");
//Error checking
if (laserShot->dat == NULL) {
allegro_message("Error loading laser_Shot.wav");
}
else {
//Playing sound for shot
play_sample((SAMPLE*) laserShot->dat, 255, 127, 1000, 0);
}
//Freeing memory
unload_datafile_object(laserShot);
声音本身很短,如果重要的话,不到一秒钟。 声音也会尝试快速连续播放多次,但实际上现在比最初工作时有更多的休息时间,所以我认为这没有什么区别。
我有什么明显的错误吗?
【问题讨论】: