我希望在我的游戏中获得响度级别,例如我的声音(每帧的实况)。当游戏检测中级响度英雄应该跳跃时,高级英雄应该跳得更高。我怎么能理解我的想法?
编辑 我不知道如何解决这个问题。我认为这部分代码可以提供帮助,但我不知道如何实现它来解决我的问题。我不能使用MediaRecorder或AudioRecord类,因为我没有访问LibGDX到android库。
short buffer[] = new short[bufferSize];
read = recorder.read(buffer, 0, bufferSize);
double p2 = data[data.length-1];
double decibel;
if (p2==0)
decibel=Double.NEGATIVE_INFINITY;
else
decibel = 20.0*Math.log10(p2/65535.0);
我的每个帧的播放器更新方法:
public void update(float differenceFrames)
{
if(position.y > 0 )
velocity.add(0,GRAVITY,0);
velocity.scl(differenceFrames);
position.add(MOVEMENT * differenceFrames,velocity.y, 0);
if(position.y < 0)
position.y = 0;
velocity.scl(1/differenceFrames);
bounds.setPosition(position.x, position.y);
}
public void jump()
{
velocity.y = 175;
}