如何调整源代码,以便在升级时,升级声音只应触发一次?
现在声音一直在复制并且不会停止,但我希望升级声音只为每个级别触发一次。
private void Run(){
int a = 0;
do {
showEmerald();
a++;
}while (a<15);//show more emeralds
vanishEmerald();
updateScreen();
handler.postDelayed(this, 600);
if (points>=25){
level=2;
levelup.start();
}
答案 0 :(得分:1)
一旦命中超过25分,你定义它的方式 If-clause 总是满满并且会触发levelup。我的建议是在循环外定义If或/并在触发levelup后重置点的计数器。
这样的事情:
if (points>=25){
level++;
levelup.start();
points = 0
}
这样你就不必每次都手动增加等级,而且每次都会进一步增加等级。