def __init__(self): BaseState.__init__(self) self.next_transition = VALID_STATES['INTRO'] self.current_menu = MENUS['MAIN'] self.story_time = 0 self.story_timeout = 7000 # 7 seconds. self.then = 0 self.cursor_x = 0 self.cursor_y = 0 self.background_color = (125, 158, 192) # Load main menu buttons. image = cached_image_loader.get_image_to_screen_percent('gfx/logo.png') self.logo = BaseActor(0, image, "SHR98 logo", False, True, False) self.logo.set_position([pygame.display.Info().current_w // 2, (image.get_height() // 2) + 20]) image2 = cached_image_loader.get_image_to_screen_percent('gfx/boton_socre.png') self.scr_button = BaseActor(1, image2, "Score Button", False, True, False) self.scr_button.set_position([pygame.display.Info().current_w // 2, self.logo.get_position()[1] + (image.get_height()) + 20]) image = cached_image_loader.get_image_to_screen_percent('gfx/boton_new.png') self.new_button = BaseActor(2, image, "New button", False, True, False) self.new_button.set_position([pygame.display.Info().current_w // 2 - 10 -image2.get_width(), self.scr_button.get_position()[1]]) image = cached_image_loader.get_image_to_screen_percent('gfx/boton_salir.png') self.quit_button = BaseActor(3, image, "Quit button", False, True, False) self.quit_button.set_position([pygame.display.Info().current_w // 2 + 10 +image2.get_width(), self.scr_button.get_position()[1]]) # Load score menu buttons. image = cached_image_loader.get_image_to_screen_percent('gfx/MenosMalos.png') self.scoreboard = BaseActor(4, image, "Scoreboard", False, True, False) self.scoreboard.set_position([(image.get_width() // 2) + 20, pygame.display.Info().current_h // 2]) image2 = cached_image_loader.get_image_to_screen_percent('gfx/boton_back.png') self.back_button = BaseActor(5, image2, "Back button", False, True, False) self.back_button.set_position([self.scoreboard.get_position()[0] + image.get_width() - (image.get_width() // 10), pygame.display.Info().current_h // 2]) font_size = 42 screen_prop = (float(font_size) / 768.0) screen_fract = (float(pygame.display.Info().current_h) * screen_prop) / 768.0 scale_factor = screen_fract / screen_prop self.font = pygame.font.Font('font/ProfaisalEliteRiqa/Profaisal-EliteRiqaV1.0.ttf', int(font_size * scale_factor)) # Score labels. self.score_1 = None self.score_2 = None self.score_3 = None self.score_4 = None self.score_5 = None # Story labels. font_size = 22 screen_prop = (float(font_size) / 768.0) screen_fract = (float(pygame.display.Info().current_h) * screen_prop) / 768.0 scale_factor = screen_fract / screen_prop font_small = pygame.font.Font('font/ProfaisalEliteRiqa/Profaisal-EliteRiqaV1.0.ttf', int(font_size * scale_factor)) self.story_1 = font_small.render("Este es Moncho, nuestro heroe...", True, (0, 0, 0)) self.story_2 = font_small.render("Moncho ama a toda la gente, gente como esta...", True, (0, 0, 0)) self.story_3 = font_small.render("Ama tanto a la gente que solo quiere abrazarlos...", True, (0, 0, 0)) self.story_5 = font_small.render("Aunque, tal vez Moncho no ame a TODA la gente...", True, (0, 0, 0)) font_size = 35 screen_prop = (float(font_size) / 768.0) screen_fract = (float(pygame.display.Info().current_h) * screen_prop) / 768.0 scale_factor = screen_fract / screen_prop font_big = pygame.font.Font('font/ProfaisalEliteRiqa/Profaisal-EliteRiqaV1.0.ttf', int(font_size * scale_factor)) self.story_4 = font_big.render("¡¡¡ABRAZARLOS HASTA QUE EXPLOTEN!!!", True, (255, 0, 0)) self.interrogation = font_big.render("?", True, (0, 0, 0)) self.player_label_1 = cached_image_loader.get_image_to_screen_percent('gfx/Player/player_idle_front.png') self.player_label_2 = cached_image_loader.get_image_to_screen_percent('gfx/Player/player_idle_front_HUG.png') self.he_huggable_1 = cached_image_loader.get_image_to_screen_percent('gfx/HeHuggable/Idle_front.png') self.he_huggable_2 = cached_image_loader.get_image_to_screen_percent('gfx/HeHuggable/Walking_front_1_scared.png') self.she_huggable_1 = cached_image_loader.get_image_to_screen_percent('gfx/SheHuggable/Idle_front.png') self.she_huggable_2 = cached_image_loader.get_image_to_screen_percent('gfx/SheHuggable/Walking_front_2_scared.png') self.explosion = cached_image_loader.get_image_to_screen_percent('gfx/Explosion2.png') self.mystery_guy = cached_image_loader.get_image_to_screen_percent('gfx/ForeverAlone/Idle_Front_face_hidden.png') self.score_text_x = int(float(image.get_width()) * 0.183) + self.scoreboard.rect.left # image holds the scoreboard graphic. self.score_text_1_y = int(float(image.get_height()) * 0.300) + self.scoreboard.rect.top self.score_text_inc = int(float(image.get_height()) * 0.112) self.story_1_x = int((float(pygame.display.Info().current_w) * 177.0 ) / 1024.0) self.story_1_y = int((float(pygame.display.Info().current_h) * 109.0 ) / 768.0) self.story_2_x = int((float(pygame.display.Info().current_w) * 211.0 ) / 1024.0) self.story_2_y = int((float(pygame.display.Info().current_h) * 223.0 ) / 768.0) self.story_3_x = int((float(pygame.display.Info().current_w) * 240.0 ) / 1024.0) self.story_3_y = int((float(pygame.display.Info().current_h) * 346.0 ) / 768.0) self.story_4_x = int((float(pygame.display.Info().current_w) * 38.0 ) / 1024.0) self.story_4_y = int((float(pygame.display.Info().current_h) * 517.0 ) / 768.0) self.story_5_x = int((float(pygame.display.Info().current_w) * 244.0 ) / 1024.0) self.story_5_y = int((float(pygame.display.Info().current_h) * 710.0 ) / 768.0) self.interr_x = int((float(pygame.display.Info().current_w) * 173.0 ) / 1024.0) self.interr_y = int((float(pygame.display.Info().current_h) * 650.0 ) / 768.0) self.moncho_1_x = int((float(pygame.display.Info().current_w) * 49.0 ) / 1024.0) self.moncho_1_y = int((float(pygame.display.Info().current_h) * 49.0 ) / 768.0) self.moncho_2_x = int((float(pygame.display.Info().current_w) * 98.0 ) / 1024.0) self.moncho_2_y = int((float(pygame.display.Info().current_h) * 293.0 ) / 768.0) self.hug_male_1_x = int((float(pygame.display.Info().current_w) * 834.0 ) / 1024.0) self.hug_male_1_y = int((float(pygame.display.Info().current_h) * 193.0 ) / 768.0) self.hug_male_2_x = int((float(pygame.display.Info().current_w) * 702.0 ) / 1024.0) self.hug_male_2_y = int((float(pygame.display.Info().current_h) * 495.0 ) / 768.0) self.hug_female_1_x = int((float(pygame.display.Info().current_w) * 738.0 ) / 1024.0) self.hug_female_1_y = int((float(pygame.display.Info().current_h) * 184.0 ) / 768.0) self.hug_female_2_x = int((float(pygame.display.Info().current_w) * 797.0 ) / 1024.0) self.hug_female_2_y = int((float(pygame.display.Info().current_h) * 457.0 ) / 768.0) self.explosion_x = int((float(pygame.display.Info().current_w) * 705.0 ) / 1024.0) self.explosion_y = int((float(pygame.display.Info().current_h) * 428.0 ) / 768.0) self.mystery_x = int((float(pygame.display.Info().current_w) * 117.0 ) / 1024.0) self.mystery_y = int((float(pygame.display.Info().current_h) * 706.0 ) / 768.0) self.user_click = False
def __init__(self): BaseState.__init__(self) self.background_color = (125, 158, 192) self.next_transition = VALID_STATES['MENU'] self.cursor_x = 0 self.cursor_y = 0 self.letter_index = 0 # Tells how many letters the user has clicked. self.player_init = [] # Holds the player initials. image = cached_image_loader.get_image_to_screen_percent('gfx/iniciales.png') self.banner = BaseActor(0, image, "Banner", False, True, False) self.banner.set_position([pygame.display.Info().current_w // 2, (image.get_height() // 2) + 20]) image2 = cached_image_loader.get_image_to_screen_percent('gfx/Fuente/_.png') self.underscore_c = BaseActor(1, image2, "Underscore center", False, True, False) self.underscore_c.set_position([pygame.display.Info().current_w // 2, self.banner.get_position()[1] + image.get_height() + 25]) self.underscore_l = BaseActor(2, image2, "Underscore left", False, True, False) self.underscore_l.set_position([self.underscore_c.get_position()[0] - image2.get_width(), self.underscore_c.get_position()[1]]) self.underscore_r = BaseActor(3, image2, "Underscore right", False, True, False) self.underscore_r.set_position([self.underscore_c.get_position()[0] + image2.get_width(), self.underscore_c.get_position()[1]]) image = cached_image_loader.get_image_to_screen_percent('gfx/del.png') self.del_button = BaseActor(4, image, "Delete button", False, True, False) self.del_button.set_position([self.underscore_c.get_position()[0] + (2 * image2.get_width()), self.underscore_c.get_position()[1]]) image = cached_image_loader.get_image_to_screen_percent('gfx/listo.png') self.done_button = BaseActor(5, image, "Done button", False, False, False) self.done_button.set_position([self.underscore_c.get_position()[0] + (3 * image2.get_width()), self.underscore_c.get_position()[1]]) self.letters = {} letter_list = ['q', 'w', 'e', 'r', 't', 'y', 'u', 'i', 'o', 'p', 'a', 's', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'z', 'x', 'c', 'v', 'b', 'n', 'm'] image = cached_image_loader.get_image_to_screen_percent('gfx/Fuente/a.png') q_x_position = self.banner.rect.left + (image.get_width() // 2) q_y_position = int((float(pygame.display.Info().current_h) * 438.0 ) / 768.0) letter_sep = int((float(pygame.display.Info().current_w) * 10.0 ) / 1024.0) for l in letter_list: image = cached_image_loader.get_image_to_screen_percent('gfx/Fuente/' + l + '.png') letter_actor = BaseActor(89, image, string.upper(l), False, True, False) if l == 'a': q_x_position = self.banner.rect.left + image.get_width() q_y_position = int((float(pygame.display.Info().current_h) * 543.0) / 768.0) elif l == 'z': q_x_position = self.banner.rect.left + int(1.5 * image.get_width()) q_y_position = int((float(pygame.display.Info().current_h) * 649.0) / 768.0) letter_actor.set_position([q_x_position, q_y_position]) self.letters[l] = letter_actor if l == 'i': q_x_position += image.get_width() + (2 * letter_sep) else: q_x_position += image.get_width() + letter_sep self.letter_y = int((float(pygame.display.Info().current_h) * 265.0 ) / 768.0)