Animated menu

This commit is contained in:
theo@manjaro 2021-09-18 10:23:40 +02:00
parent 44b5ef0321
commit 1ea4887a38

View File

@ -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)