コード例 #1
0
 def parser_basic_info(self, parse):
     '''
     Parsea la informacián básica que tendran todos los objetos del juego.
     '''
     parent_node = parse.firstChild
     sprite_name = str(parent_node.getAttribute('sprite_code'))
     self.original_sprite = resource.get_sprite(sprite_name)
     
     for element in parse.getElementsByTagName('animation'):
         animation_name = str(element.getAttribute('name'))
         animation_frames = str(element.getAttribute('frames'))
         animation_delay = int(element.getAttribute('delay'))
         
         if animation_name == 'normal':
             self.animations[NORMAL] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'noaction':
             self.animations[NOACTION] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'run':
             self.animations[RUN] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'forward':
             self.animations[FORWARD] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'reverse':
             self.animations[REVERSE] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'damaged':
             self.animations[DAMAGED] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'erase':
             self.animations[ERASE] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'yaw':
             self.animations[YAW] = animation.Animation(animation_frames, animation_delay)
             
         self.image = self.original_sprite[self.animations[NORMAL].get_frame()]
         self.rect = self.image.get_rect()
         self.mask = pygame.mask.from_surface(self.image)
コード例 #2
0
ファイル: game.py プロジェクト: BGCX262/zycars-svn-to-git
 def __init__(self):
     '''
     Carga e inicializa la configuración principal y las variables principales de la clase
     '''
     parser = xml.dom.minidom.parse(data.get_path_xml('configuration.xml'))
     
     for element in parser.getElementsByTagName('screen'):
         self.__screen_width = int(element.getAttribute('width'))
         self.__screen_height = int(element.getAttribute('height'))
         self.caption = element.getAttribute('caption')
     
     for element in parser.getElementsByTagName('fps'):
         self.fps = int(element.getAttribute('value'))
     
     pygame.init()
     self.screen = pygame.display.set_mode((self.__screen_width, self.__screen_height))
     
     for element in parser.getElementsByTagName('icon'):
         icon_code = str(element.getAttribute('code'))
         self.icon = resource.get_image(icon_code)
     
     pygame.display.set_icon(self.icon)
     self.clock = pygame.time.Clock()
     self.__exit = False
     self.__actual_state = None
     
     ## A partir de aqui las variables no pertenecen a la clase game
     ## Si no para realizar las pruebas necesarias de la clase animation
     
     self.granny = resource.get_sprite('granny')
     self.walk = animation.Animation("0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30", 1)
     self.jump = animation.Animation("49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64", 1)
     self.attack =  animation.Animation("64,65,67,68,69,70,71,72,73,74,75,76,77,78,79,80", 1)
     self.actual_animation = self.walk
コード例 #3
0
 def parser_basic_info(self, parse):
     '''
     @brief Método que parsea la información basica de un objeto del juego.
     
     @param parse Parse a Archivo xml con xml.dom.minidom
     '''
     parent_node = parse.firstChild
     sprite_name = str(parent_node.getAttribute('sprite_code'))
     self.original_sprite = resource.get_sprite(sprite_name)
     
     #Cargamos las distintas animaciones del objeto
     for element in parse.getElementsByTagName('animation'):
         animation_name = str(element.getAttribute('name'))
         animation_frames = str(element.getAttribute('frames'))
         animation_delay = int(element.getAttribute('delay'))
         
         #Vemos que tipo de animación es y lo añadimos al mapa de imagenes
         if animation_name == 'normal':
             self.animations[NORMAL] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'noaction':
             self.animations[NOACTION] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'run':
             self.animations[RUN] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'forward':
             self.animations[FORWARD] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'reverse':
             self.animations[REVERSE] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'damaged':
             self.animations[DAMAGED] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'erase':
             self.animations[ERASE] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'yaw':
             self.animations[YAW] = animation.Animation(animation_frames, animation_delay)
         elif animation_name == 'fall':
             self.animations[FALL] = animation.Animation(animation_frames, animation_delay)
     
     #Inicializamos la imagen, el rectangulo y la mascara de pixeles
     self.image = self.original_sprite[self.animations[NORMAL].get_frame()]
     self.rect = self.image.get_rect()
     self.mask = pygame.mask.from_surface(self.image)