def lose(self, wait=5.0, duration=2.0): if self.lost: return def adjustMusicVol(vol): self.musicManager.setVolume(vol) def adjustSfxVol(vol): self.sfxManagerList[0].setVolume(vol) from direct.gui.DirectGui import OnscreenText, DGG from direct.interval.IntervalGlobal import Parallel, Sequence, Wait, LerpFunc, Func fadeIval = base.transitions.getFadeOutIval(duration) diedText = OnscreenText(text="You failed to save Flippy!\nYou lose!", fg=(1, 1, 1, 1)) diedText.reparentTo(aspect2d, DGG.FADE_SORT_INDEX + 1) diedText.setAlphaScale(0) textFadeIval = diedText.colorScaleInterval(duration, (1, 1, 1, 1), (1, 1, 1, 0)) Sequence( Wait(wait), Parallel( fadeIval, textFadeIval, LerpFunc(adjustMusicVol, duration, self.musicManager.getVolume(), 0.0), LerpFunc(adjustSfxVol, duration, self.sfxManagerList[0].getVolume(), 0.0)), Func(self.leaveGame)).start() self.lost = True