def __init__(self, screen, data): # データを保持 self.gun_data = data["gun_data"] self.equipment = data["equip"] self.chip_data = data["chip_data"] self.chip = data["chip"] # スクリーンの保持 self.screen = screen # 選択の初期値 self.change_gun = 0 # 現在選択している装備場所 self.change_chip = 0 self.change_id = 0 self.back = False # 一つ前の画面にもどるか # 操作の表記 self.screen_info = pygame.font.Font("font/freesansbold.ttf", 70).render("Equip", True, (255, 255, 255)) self.back_info = pygame.font.Font( "font/ShipporiMincho-TTF-Regular.ttf", 50).render("'Q' : 戻る", True, (255, 255, 255)) self.change_info = pygame.font.Font( "font/ShipporiMincho-TTF-Regular.ttf", 50).render("'C' : 切り替え", True, (255, 255, 255)) # リストボックスの作成 # Gun texts = [data["name"] for data in self.gun_data.values()] equip_listbox = ListBox(self.screen, 80, 200, 300, 250, texts, font_size=40, target=True,\ title="Gun", title_size=60) equip_listbox.set_selectable( [data["own"] == 1 for data in self.gun_data.values()]) # Chip texts = [data['name'] for data in self.chip_data.values()] chip_listbox = ListBox(self.screen, 80, 200, 300, 250, texts, font_size=40, target=True,\ title="Chip", title_size=60) chip_listbox += ['remove', 'remove ALL'] # 両方をリストに格納し、選択された方を描画 self.listboxes = [equip_listbox, chip_listbox] self.listbox = self.listboxes[self.change_id] # 現在の装備状況を描画するイメージボックスの作成 self.gun_image_box = ImageBox(screen, 700, 450, 90, 90, 3) self.chip_image_box = ImageBox(screen, 500, 450, 90, 90, 6) self.text_box = TextBox(screen, 550, 200, 550, 200, font_size=30) # 時間管理 self.clock = pygame.time.Clock()
def __init__(self, screen, data): self.screen = screen self.data = data self.stage_num = 1 self.select_num = 0 self.option_num = 0 self.path = glob('stage/*/') self.new_path = [] for i in range(len(self.path)): self.new_path.append(self.path[i].strip('stage\/')) StageSelect_font = pygame.font.Font("font/freesansbold.ttf", 55) Arrow_font = pygame.font.Font("font/freesansbold.ttf", 100) self.Stage_font = pygame.font.Font("font/freesansbold.ttf", 45) self.StageSelect_text = StageSelect_font.render("Stage Select", True, (255,255,255)) self.RightArrow_text = Arrow_font.render(">", True, (255,255,255)) self.LeftArrow_text = Arrow_font.render("<", True, (255,255,255)) self.RightArrow_text = pygame.transform.rotate(self.RightArrow_text, 90) self.LeftArrow_text = pygame.transform.rotate(self.LeftArrow_text, 90) # ステージのテキスト情報をリストにする self.stage_text = [None] '''for i in range(3): text = "Stage" + str(i+1) self.stage_text.append(Stage_font.render(text, True, (255,255,255))) ''' # リストボックスの設定 self.option_listbox = ListBox(self.screen, 50, 80, 250, 200, ['Back', 'Shop', 'Equip'], font_size=55, title="Menu") self.option_listbox.set_selectable([True, True, True]) self.file_listbox = ListBox(self.screen, 940, 80, 120, 400, self.new_path, title="File") self.file_listbox.set_selectable([True, True]) self.file_listbox() self.file_id = None # メッセージボックスの設定 self.messagebox = MessageBox(self.screen, 130, 540, 900, outline_color=(180,180,180), select='random') with open('data/message.txt', 'r', encoding='utf-8') as fp: self.messagebox += fp.readlines() self.clock = pygame.time.Clock()
def get_listbox(Items=None, ItemIndex=0, ItemHeight=15, widget_name='MyChoice', Left=0, Height=100, Top=0, Width=200, TopMargin=10, RightMargin=10, BottomMargin=10, LeftMargin=10, has_OnClick=False, has_OnSelectionChange=True): return ListBox(**key_word_args(LISTBOX_PARAML, locals()))
def __init__(self, screen, data): self.data = data self.gun_data = self.data["gun_data"] self.screen = screen self.change_gun = 0 # 現在選択している装備場所 self.screen_info = pygame.font.Font("freesansbold.ttf" ,70).render("Shop", True, (255,255,255)) self.back_info = pygame.font.Font("freesansbold.ttf" ,50).render("'Q' : Back", True, (255,255,255)) self.gun_value = [1000, 1000, 1000, 1000, 1000, 1000] texts = [data["name"] for data in self.gun_data.values()] del texts[0] self.listbox = ListBox(self.screen, 80, 150, 300, 250, texts, font_size=40, target=True) self.listbox.set_selectable([data["own"]==1 for data in self.gun_data.values()]) self.clock = pygame.time.Clock()