public void tick(int dt) { if (plyr.transitioning > -1) return; ticker += dt / 1000f; if (ticker > 1) ticker = 0; if (open == true) { if (y <= 0) { y = 0; return; } else { y -= (500 / 1000f) * dt; float f = 1 - ((((float) closedy - (float) y) / (float) closedy) * .5f); sound.changeVolume(f); } } else { if (y >= closedy) { y = closedy; return; } else { y += (1000 / 1000f) * dt; float f = 1 - ((((float) closedy - (float) y) / (float) closedy) * .5f); sound.changeVolume(f); } } if (y <= 0) y = 0; if (y >= closedy) y = closedy; this.transitioning = (open == true && y > 0) || (open == false && y < closedy) || open; }