From 1ea4887a381fd8a2590bf85e20749af2841519e9 Mon Sep 17 00:00:00 2001 From: "theo@manjaro" Date: Sat, 18 Sep 2021 10:23:40 +0200 Subject: [PATCH] Animated menu --- gamedata/objects/menu/mainmenu.py | 33 +++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/gamedata/objects/menu/mainmenu.py b/gamedata/objects/menu/mainmenu.py index 414d09e..477ec72 100644 --- a/gamedata/objects/menu/mainmenu.py +++ b/gamedata/objects/menu/mainmenu.py @@ -28,13 +28,38 @@ class MainMenu(menu.Menu): self.create(self.grid,self.rect) self.depth = -1 - + # Shadow sprite shadow = game.sprite_lib["shadow.png"] self.shadow = game.pygame.transform.scale(shadow,(1000,1000)) # J'augmente la taille de l'ombre + # Animation timer + self.timer = game.lib.Timer(1.5) + + self.buttonsmaxoffset = 400 + self.buttonsoffset = 400 + self.titleoffset = 400 + self.titlemaxoffset = 400 + + self.stop = False + + def step(self): + super().step() + if not self.stop and self.timer.tick(self.game.dt): + self.stop = True + self.buttonsoffset = 0 + if not self.stop: + self.buttonsoffset = self.timer.getratio()**4*self.buttonsmaxoffset + self.titleoffset = 0 + if not self.stop: + self.titleoffset = self.timer.getratio()**4*self.titlemaxoffset + + # Move the buttons + for btn in self.lbuttons: + btn.rect[1] = btn.baserect[1]+self.buttonsoffset + def draw(self): - # Shadow - self.game.lib.drawcenter(self.game,self.shadow,self.game.DISPLAY_WIDTH/2,self.game.DISPLAY_HEIGHT*3/5) + # Shadow + self.game.lib.drawcenter(self.game,self.shadow,self.game.DISPLAY_WIDTH/2,self.game.DISPLAY_HEIGHT*3/5+self.buttonsoffset) # Display game title - self.game.lib.drawcenter(self.game,self.game.sprite_lib["gui/title.png"],self.game.DISPLAY_WIDTH/2,self.baserect[1]-self.game.DISPLAY_HEIGHT/8) + self.game.lib.drawcenter(self.game,self.game.sprite_lib["gui/title.png"],self.game.DISPLAY_WIDTH/2,self.baserect[1]-self.game.DISPLAY_HEIGHT/8-self.titleoffset)