# -*- coding: utf-8 -*- import pygame from api.GameState import CGameState from api.Game import CGame from api.Button import CButton from CreditsState import CCreditsState from HelpState import CHelpState import api.Image as Image from game.SelectPartidaState import CSelectPartidaState from gettext import gettext as _ OVER_COLOR = (255, 0, 0) NORMAL_COLOR = (255, 125, 50) class CMenuState(CGameState): def init(self): CGameState.__init__(self) self.mBackground = Image.loadImage('assets/images/selectArea/background.jpg', False) CGame().setBackground(self.mBackground) self.mButtonPlay = CButton() self.mButtonPlay.bgColor = NORMAL_COLOR self.mButtonPlay.fgColor = (0xFF, 0xFF, 0xFF) self.mButtonPlay.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 32) self.mButtonPlay.center = (600, 370) self.mButtonPlay.size = (200, 40) self.mButtonPlay.set_text(unicode(_('Jugar'), 'UTF-8')) CGame().addChild(self.mButtonPlay) self.mButtonCredits = CButton() self.mButtonCredits.bgColor = NORMAL_COLOR self.mButtonCredits.fgColor = (0xFF, 0xFF, 0xFF) self.mButtonCredits.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 32) self.mButtonCredits.center = (600, 420) self.mButtonCredits.size = (200, 40) self.mButtonCredits.set_text(unicode(_('Créditos'), 'UTF-8')) CGame().addChild(self.mButtonCredits) self.mButtonHelp = CButton() self.mButtonHelp.bgColor = NORMAL_COLOR self.mButtonHelp.fgColor = (0xFF, 0xFF, 0xFF) self.mButtonHelp.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 32) self.mButtonHelp.center = (600, 470) self.mButtonHelp.size = (200, 40) self.mButtonHelp.set_text(unicode(_('Ayuda'), 'UTF-8')) CGame().addChild(self.mButtonHelp) self.mButtonExit = CButton() self.mButtonExit.bgColor = NORMAL_COLOR self.mButtonExit.fgColor = (0xFF, 0xFF, 0xFF) self.mButtonExit.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 32) self.mButtonExit.center = (600, 520) self.mButtonExit.size = (200, 40) self.mButtonExit.set_text(unicode(_('Salir'), 'UTF-8')) CGame().addChild(self.mButtonExit) def update(self): #print "menu update" CGameState.update(self) if self.mButtonPlay.mouseOver(): self.mButtonPlay.set_bgColor(OVER_COLOR) else: self.mButtonPlay.set_bgColor(NORMAL_COLOR) if self.mButtonCredits.mouseOver(): self.mButtonCredits.set_bgColor(OVER_COLOR) else: self.mButtonCredits.set_bgColor(NORMAL_COLOR) if self.mButtonHelp.mouseOver(): self.mButtonHelp.set_bgColor(OVER_COLOR) else: self.mButtonHelp.set_bgColor(NORMAL_COLOR) if self.mButtonExit.mouseOver(): self.mButtonExit.set_bgColor(OVER_COLOR) else: self.mButtonExit.set_bgColor(NORMAL_COLOR) if self.mButtonCredits.clicked(): #print "clicked credits" #cs = CHelpState() cs = CCreditsState() CGame().setState(cs) return elif self.mButtonPlay.clicked(): #print "clicked play" partida = CSelectPartidaState() CGame().setState(partida) return elif self.mButtonHelp.clicked(): hp = CHelpState() CGame().setState(hp) return elif self.mButtonExit.clicked(): #print 'exit' CGame().destroy() exit() def destroy(self): CGameState.destroy(self) CGame().removeChild(self.mButtonCredits) CGame().removeChild(self.mButtonPlay) CGame().removeChild(self.mButtonHelp) CGame().removeChild(self.mButtonExit) self.mButtonCredits = None self.mButtonPlay = None self.mButtonExit = None self.mButtonExit = None