a continuacion la clase "Principal"
Código:
import pygame import Personaje class Principal: def __init__(self): pygame.display.init() pygame.display.set_icon(pygame.image.load("favicon.png")) self.personaje = Personaje.Personaje("wowo","Mago","Elfo",50,50) self.tamaño = (1000,650) self.ventanaPrincipal = pygame.display.set_mode(self.tamaño,pygame.RESIZABLE) def draw(self): ''' Descripcion: Crea la ventana,Setea el titulo de la ventana,Agrega al personaje Retorna: nada Argumentos: no tiene ''' self.ventanaPrincipal.fill((255,255,255)) pygame.display.set_caption("Fatum Online") self.ventanaPrincipal.blit(self.personaje.draw(),(self.personaje.getPosicionX(),self.personaje.getPosicionX())) pygame.display.flip() def capturarEventos(self): ''' Descripcion: Crea un bucle que se encarga de tomar los eventos y toma desiciones en torno a ellos Retorna: nada Argumentos: no tiene ''' pygame.display.update() #Un bucle para mantener la ventana y tomar los eventos while True: #Aqui checamos todos los eventos que ocurrieron for e in pygame.event.get(): pygame.display.update() #Si el tipo del evento es QUIT (o salir) entonces termina el ciclo if e.type == pygame.QUIT: pygame.display.quit() break #Si existen tomo los eventos del teclado if e.type == pygame.KEYDOWN: #Cuando se pulse en las felchas de teclado seteamos la posicion del personaje y su visualizacion en pantalla if e.key == pygame.K_DOWN: self.personaje.moverArriba() pygame.display.update() break if e.key == pygame.K_UP: self.personaje.moverAbajo() pygame.display.update() break if e.key == pygame.K_RIGHT: self.personaje.moverDerecha() pygame.display.update() break if e.key == pygame.K_LEFT: self.personaje.moverIzquierda() pygame.display.update() break if e.key == pygame.K_ESCAPE: pygame.display.quit() #Inicia el objeto principal principal = Principal() principal.draw() principal.capturarEventos()
y la clase "Personaje"
Código:
import pygame class Personaje: def __init__(self,nombre,clase,raza,posicionX,posicionY): self.nombre = nombre self.clase = clase self.raza = raza self.posicionX = posicionX self.posicionY = posicionY self.cuerpo = pygame.image.load("personaje.png") def draw(self): ''' Devuelve el cuerpo del personaje ''' return self.cuerpo def getPosicionX(self): ''' Retorna la posicion en X ''' return self.posicionX def getPosicionY(self): ''' Retorna la posicion en Y ''' return self.posicionY def moverArriba(self): ''' Aumenta la posicion en X ''' self.posicionX += 10 def moverAbajo(self): ''' Disminuye la posicion en X ''' self.posicionX -= 10 def moverDerecha(self): ''' Aumenta la posicion en Y ''' self.posicionY += 10 def moverIzquierda(self): ''' Disminuye la posicion en Y ''' self.posicionY -= 10