# -*- coding: utf-8 -*- import pygame import MenuState from api.GameState import CGameState from api.Game import CGame from api.Sprite2 import CSprite from api.MultiLabel import CMultiLabel import api.Image as Image from assets.data import credits_data class CCreditsState(CGameState): def init(self): CGameState.init(self) self.mBackground = Image.loadImage('assets/images/back_credits.png', False) CGame().setBackground(self.mBackground) self.mBsetted = False self.mNsetted = True self.mBackImageN = Image.loadImage('assets/images/back.png') self.mBackImageB = Image.loadImage('assets/images/back_big.png') self.mButtonBack = CSprite() self.mButtonBack.setRegistrationPointOffset(22, 22) self.mButtonBack.setXY(1170, 30) self.mButtonBack.setImage(self.mBackImageN) CGame().addChild(self.mButtonBack) text = '' for l in credits_data.CREDITS: text = text + '\n' + unicode(l, 'UTF-8') self.mCredits = CMultiLabel() self.mCredits.bgColor = (255, 125, 50) self.mCredits.font = pygame.font.Font('assets/fonts/DejaVuSans.ttf', 28) self.mCredits.set_center((600, 300)) self.mCredits.set_size((600, 400)) self.mCredits.set_text(text) CGame().addChild(self.mCredits) def update(self): CGameState.update(self) if self.mButtonBack.mouseOver(): if not(self.mBsetted): self.mBsetted = True self.mNsetted = False self.mButtonBack.setRegistrationPointOffset(27, 27) self.mButtonBack.setImage(self.mBackImageB) else: if not(self.mNsetted): self.mBsetted = False self.mNSetted = True self.mButtonBack.setRegistrationPointOffset(22, 22) self.mButtonBack.setImage(self.mBackImageN) if self.mButtonBack.clicked(): ms = MenuState.CMenuState() CGame().setState(ms) def destroy(self): CGameState.destroy(self) CGame().removeChild(self.mButtonBack) CGame().removeChild(self.mCredits) self.mButtonBack = None self.mBackground = None