【发布时间】:2016-06-16 15:56:18
【问题描述】:
当前代码在直立状态下会重复运行低音,直到它开始扭曲声音并且运行不佳。当它完成运行并停止它运行多次时,我将如何处理声音,因为我希望声音在进入这种直立状态时只播放一次。谢谢亚历克斯。
public void determineState(){
accelX = Gdx.input.getAccelerometerX();
accelY = Gdx.input.getAccelerometerY();
accelZ = Gdx.input.getAccelerometerZ();
state = "NULL";
if(accelX < 1 && accelX > -1){
if(accelY > -1 && accelY < 1){
if(accelZ > 9 && accelZ < 11){
state = "UPRIGHT";
}
}
}
}
public void playSound(String soundString){
System.out.println(soundString);
if(soundString != "null"){
sound = Gdx.audio.newSound(Gdx.files.internal(soundString + ".wav"));
long id = sound.play();
sound.setVolume(id, 3);
}else if (soundString == "null"){
}
}
【问题讨论】:
-
为什么你的状态是字符串而不是枚举或整数?看起来很容易出错。
-
是的,我尝试实现枚举,但我有点挣扎,所以只使用字符串,因为我可以很容易地控制所有名称。 @Tenfour04
标签: libgdx