def __init__(self, screen): self.screen= screen self.background = load_image("fundo_menu.png", "res/img") self.menu = cMenu(MENUSTART, self.screen, self.background) # criar recurso audio e fazer load do audio menu inicial e dos # efeitos menu self.audio = AudioResource.AudioResource() self.audio.AddMusic('res/music/menu1.mp3', 'menu1') self.audio.AddSoundFXList([('res/music/menuselect.wav', 'menuselect'), ('res/music/gunshot.wav', 'gunshot'), ]) #INICIALIZaCAO DAS VARIAVEIS DE ESTADO DO MENU E DO LISTENER self.input = inputListener() #Iniciar musica menu self.audio.get_music('menu1').load_music() pygame.mixer.music.play(-1) self.gameIsRunning = False self.state = 0 self.menustate = (0, 'MAINMENU') self.maxstate = self.menu.numStates()
def update(self): self.screen.blit(self.background, (0, 0)) self.input.get_events() self.menu.updateMenu(self.state) #SITEMA DE TROCA DE ESTADOS, VER QUAL E O ESTADO QUE ESTA O MENU if(self.input.pressed(K_DOWN)): self.audio.get_sound('menuselect').play_sound() if(self.state > self.maxstate - 2): self.state = 0 else: self.state += 1 elif(self.input.pressed(K_UP)): self.audio.get_sound('menuselect').play_sound() if (self.state < 1): self.state = self.maxstate - 1 else: self.state -= 1 #SISTEMA DE TROCA DE MENU ! SECALHAR METER NUM METODO APARTE ! elif(self.input.pressed(K_RETURN) or self.input.mouse_press(1)): self.audio.get_sound('gunshot').play_sound() if(self.state == 0 and self.menustate[1] == 'MAINMENU'): self.menu = cMenu (MenuNewGame, self.screen, self.background) self.menustate = (1, 'NEWGAME') self.initStates() elif(self.state == 1 and self.menustate[1] == 'MAINMENU'): self.menu = cMenu (MenuMulti, self.screen, self.background) self.menustate = (1, 'MULTIMENU') self.initStates() elif(self.state == 2 and self.menustate[1] == 'MAINMENU'): self.menu = cMenu (MENUSTART, self.screen, self.background) self.menustate = (0, 'MAINMENU') self.initStates() return CHANGE_OPTIONS #SECCAO DOS CREDITS !! elif(self.state == 3 and self.menustate[1] == 'MAINMENU'): pass ##TRATAR DO MULTIPLAYER - CREATE SERVER elif(self.state == 0 and self.menustate[1] == 'MULTIMENU'): pygame.mixer.music.fadeout(15) self.menustate = (0, 'MULTIMENU') return START_SERVER ##TRATAR DO MULTIPLAYER - JOIN SERVER elif(self.state == 1 and self.menustate[1] == 'MULTIMENU'): pygame.mixer.music.fadeout(15) self.menu = cMenu(MENUSTART, self.screen, self.background) self.menustate = (0, 'MAINMENU') self.initStates() return JOIN_SERVER elif(self.state == 0 and self.menustate[1] == 'NEWGAME'): pygame.mixer.music.fadeout(15) self.menustate = (0, 'MAINMENU') return START_SINGLE_GAME_EASY elif(self.state == 1 and self.menustate[1] == 'NEWGAME'): pygame.mixer.music.fadeout(15) self.menustate = (0, 'MAINMENU') return START_SINGLE_GAME_MEDIUM elif(self.state == 2 and self.menustate[1] == 'NEWGAME'): pygame.mixer.music.fadeout(15) self.menustate = (0, 'MAINMENU') return START_SINGLE_GAME_HARD #TRATAMENTO DO MENU DE OPCOES elif(self.state == 4 and self.menustate[1] == 'MAINMENU'): quit() #TRATA DOS EVENTOS DE ESCAPE KEY elif(self.input.pressed(K_ESCAPE)): if(self.menustate[0] == 1): self.menu = cMenu(MENUSTART, self.screen, self.background) self.menustate = (0, 'MAINMENU') self.initStates() elif(self.menustate[0] == 0 and self.gameIsRunning != True): quit() elif(self.menustate[0] == 0 and self.gameIsRunning == True): return BACK_TO_GAME pygame.display.update()