步骤:
1.下载那个程序和声音范例(就是上面的所需文件)并解压到%USERPROFILE%/Documents/Algodoo目录(就是我的文档里的Algodoo文件夹)
2.与snd.exe(PlaySnd.exe)一起运行Algodoo(作者是用C++编的,但我把运行库全装上还是打不开,显示“不是有效的Win32程序”,不知道是不是不兼容XP,大家试一试)
3.将你想要用的声音文件放入sounds文件夹(或其子目录)
4.使用脚本:
System.WriteToFile("snd.file","<file location>/<file name>.<file extension> ");
举个栗子,用“~”键进入控制台然后输入:
System.WriteToFile("snd.file","glass2.wav ");
或者创建一个物体然后在脚本界面的“onCollide=”后面输入:
(e)=>{System.WriteToFile("snd.file", "materials/wood.wav ")}
输入的文件位置是之前的sounds文件夹内的你想要用的声音文件的相对路径
注意:
1.在文件路径的文件名后面必须要有一个或多个空格
2.脚本修饰符(就是……你看到就懂了)(全用glass2.wav做文件示例):
在没有播放声音时播放声音:
System.WriteToFile("snd.file","glass2.wav ")
在播放声音时停止播放声音:
System.WriteToFile("snd.file","-glass2.wav ")
切换播放中的声音:
System.WriteToFile("snd.file","*glass2.wav ")
停止所有正在播放的声音:
System.WriteToFile("snd.file","stop ")
3.最好给每个场景在sounds文件夹中创建多个分开的子文件夹,便于管理
4.在控制台中你可以预置功能(脚本):
scene.my.PlaySound:=(name)=>{System.WriteToFile("snd.file","materials/"+name+" ")}
然后就可以用更简短的脚本来直接播放sounds/materials/目录中的声音:
Scene.my.PlaySound("glass1.wav");
话说反正我是运行失败了,有没有同学帮忙测试一下?看那视频里演示的似乎很不错的样子……只有在物体接触(包括激光)时才会触发声音,要是有响度判断那就更好了……还有,物体在落地时因为有重复振动(除非物体无弹性)所以会有多次重复的声音,这个应该不能算BUG,判定就是这样的,但似乎又无解决方法……但总而言之,个程序用在游戏制作上那真是非常棒的啦~~~