WIDTH_WORLD = 10000
HEIGHT_WORLD = 10000
Current Scene
xCurrent = 800 ( + Width Res. = 800 + 1024 = 1824)
yCurrent = 400 ( + Height Res. = 400 + 768 =... )
Far Sprite
xSprite = 7000
ySprite = 3000
“计算”音量(可能是左/右声道声道比率)的好算法是什么? 提前谢谢!
答案 0 :(得分:2)
使用距离(Dsquared = xdist ^ 2 + ydist ^ 2)作为缩放系数来缩小音量。反转此距离平方值以直接应用于您的音量(音量以距离的平方下降,并且距离很容易计算为平方值)。
左/右声道比率仅通过为左右声道定义两个不同的点(分别在渲染位置的左侧和右侧)完成,执行上述计算,并找到您的声道的比率办法。因为上面的计算只是两个平方的总和,所以计算简单。
答案 1 :(得分:2)
总费用
volume = max( 0, max_volume - max_volume/max_distance * distance )
,或反距离下降的函数,如volume = min( max_volume, max_volume / distance )
。平衡比率
balance = (object_x-camera_x) / screen_half_width
的值介于-1:left,+ 1:right和0:center。在组合这些方法时,您必须考虑适合您情况的方法:例如,如果对象超出屏幕范围,则仅抑制音量,无论如何......
答案 2 :(得分:0)
嗯,声音的音量会随着距离声源的距离的平方而降低,因此这将为您提供一个良好的起点。
了解您正在使用的游戏库将会有所帮助 - 许多游戏库已经内置了这种功能。