def startup(self, *items, **kwargs): """ Accepted Keyword Arguments: prompt: String used to let user know what value is being inputted (ie "Name?", "IP Address?") :param items: :param kwargs: :return: """ super(InputMenu, self).startup(*items, **kwargs) self.input_string = "" # area where the input will be shown self.text_area = TextArea(self.font, self.font_color, (96, 96, 96)) self.text_area.animated = False self.text_area.rect = pygame.Rect( tools.scale_sequence([90, 30, 80, 100])) self.sprites.add(self.text_area) # prompt self.prompt = TextArea(self.font, self.font_color, (96, 96, 96)) self.prompt.animated = False self.prompt.rect = pygame.Rect(tools.scale_sequence([50, 20, 80, 100])) self.sprites.add(self.prompt) self.prompt.text = kwargs.get("prompt", "")
def startup(self, *items, **kwargs): """ Accepted Keyword Arguments: prompt: String used to let user know what value is being inputted (ie "Name?", "IP Address?") :param items: :param kwargs: :return: """ super(InputMenu, self).startup(*items, **kwargs) self.input_string = "" # area where the input will be shown self.text_area = TextArea(self.font, self.font_color, (96, 96, 96)) self.text_area.animated = False self.text_area.rect = pygame.Rect(tools.scale_sequence([90, 30, 80, 100])) self.sprites.add(self.text_area) # prompt self.prompt = TextArea(self.font, self.font_color, (96, 96, 96)) self.prompt.animated = False self.prompt.rect = pygame.Rect(tools.scale_sequence([50, 20, 80, 100])) self.sprites.add(self.prompt) self.prompt.text = kwargs.get("prompt", "")
def build_right_hud(): hud = self.load_sprite('gfx/ui/combat/hp_player_nohp.png', layer=hud_layer) hud.image.blit(text, scale_sequence((12, 4))) hud.rect.bottomleft = home.right, home.bottom animate(hud.rect, left=home.left) return hud
def build_left_hud(): hud = self.load_sprite('gfx/ui/combat/hp_opponent_nohp.png', layer=hud_layer) hud.image.blit(text, scale_sequence((5, 5))) hud.rect.bottomright = 0, home.bottom animate(hud.rect, right=home.right) return hud
def startup(self, **kwargs): super(MonsterMenuState, self).startup(**kwargs) # make a text area to show messages self.text_area = TextArea(self.font, self.font_color, (96, 96, 96)) self.text_area.rect = pygame.Rect( tools.scale_sequence([20, 80, 80, 100])) self.sprites.add(self.text_area, layer=100) # Set up the border images used for the monster slots self.monster_slot_border = {} self.monster_portrait = pygame.sprite.Sprite() self.hp_bar = HpBar() # load and scale the monster slot borders root = "gfx/ui/monster/" border_types = ["empty", "filled", "active"] for border_type in border_types: filename = root + border_type + "_monster_slot_border.png" border = tools.load_and_scale(filename) filename = root + border_type + "_monster_slot_bg.png" background = tools.load_image(filename) window = GraphicBox(border, background, None) self.monster_slot_border[border_type] = window # TODO: something better than this global, load_sprites stuff for monster in self.game.player1.monsters: monster.load_sprites()
def startup(self, **kwargs): super(MonsterMenuState, self).startup(**kwargs) # make a text area to show messages self.text_area = TextArea(self.font, self.font_color, (96, 96, 96)) self.text_area.rect = pygame.Rect(tools.scale_sequence([20, 80, 80, 100])) self.sprites.add(self.text_area, layer=100) # Set up the border images used for the monster slots self.monster_slot_border = {} self.monster_portrait = pygame.sprite.Sprite() self.hp_bar = HpBar() # load and scale the monster slot borders root = "gfx/ui/monster/" border_types = ["empty", "filled", "active"] for border_type in border_types: filename = root + border_type + "_monster_slot_border.png" border = tools.load_and_scale(filename) filename = root + border_type + "_monster_slot_bg.png" background = tools.load_image(filename) window = GraphicBox(border, background, None) self.monster_slot_border[border_type] = window # TODO: something better than this global, load_sprites stuff for monster in self.game.player1.monsters: monster.load_sprites()
def scaled_image_loader(filename, colorkey, **kwargs): """ pytmx image loader for pygame Modified to load images at a scaled size :param filename: :param colorkey: :param kwargs: :return: """ if colorkey: colorkey = pygame.Color('#{0}'.format(colorkey)) pixelalpha = kwargs.get('pixelalpha', True) # load the tileset image image = pygame.image.load(filename) # scale the tileset image to match game scale scaled_size = tools.scale_sequence(image.get_size()) image = pygame.transform.scale(image, scaled_size) def load_image(rect=None, flags=None): if rect: # scale the rect to match the scaled image rect = tools.scale_rect(rect) try: tile = image.subsurface(rect) except ValueError: logger.error('Tile bounds outside bounds of tileset image') raise else: tile = image.copy() if flags: tile = handle_transformation(tile, flags) tile = smart_convert(tile, colorkey, pixelalpha) return tile return load_image
def scale_area(area): return pygame.Rect(tools.scale_sequence(area))