Слияние кода завершено, страница обновится автоматически
import pygame
class Button(pygame.sprite.Sprite):
def __init__(self, image_name, pos_x, pos_y):
super(Button, self).__init__()
self.image_index = 0
self.image_list = []
self.name = image_name
self.pos_x = pos_x
self.pos_y = pos_y
pygame.mixer.init()
self.hit = pygame.mixer.Sound("./sounds/button_hit.wav")
self.hit.set_volume(0.5)
for i in range(2):
real_image_name = "./images/" + image_name + str(i) + ".png"
image = pygame.image.load(real_image_name)
self.image_list.append(image)
self.rect = self.image_list[0].get_rect(left=self.pos_x, top=self.pos_y)
def is_speaker(self):
if self.name == "speaker":
return True
else:
return False
def is_previous(self):
if self.name == "pre":
return True
else:
return False
def is_next(self):
if self.name == "next":
return True
else:
return False
def revert_image(self):
self.image_index = (self.image_index + 1) % 2
def set_index(self, index):
if self.image_index != index:
self.image_index = index
if self.image_index == 1:
self.hit.play()
def update(self):
# screen.fill("red", self.rect)
# self.screen.blit(self.image_list[self.image_index], (self.pos_x, self.pos_y))
self.image = self.image_list[self.image_index]
def draw(self, screen):
screen.blit(self.image, self.rect)
def do_mouse_on(self, mouse_x, mouse_y):
if self.rect.collidepoint(mouse_x, mouse_y):
self.set_index(1)
else:
self.set_index(0)
speaker_button = Button("speaker", 830, 115)
previous_button = Button("pre", 830, 311)
next_button = Button("next", 830, 500)
study_mode_buttons = pygame.sprite.Group()
study_mode_buttons.add(speaker_button)
study_mode_buttons.add(previous_button)
study_mode_buttons.add(next_button)
# 主菜单页面学习模式、娱乐模式,退出按钮实例化
menu_mode_study = Button("study_mode", 711, 144)
menu_mode_game = Button("play_mode", 702, 357)
menu_mode_exit = Button("game_exit", 903, 575)
menu_mode_buttons = pygame.sprite.Group()
menu_mode_buttons.add(menu_mode_study)
menu_mode_buttons.add(menu_mode_game)
menu_mode_buttons.add(menu_mode_exit)
# 娱乐模式中菜单实例化
play_mode_menu = Button("menu", 1130, 0)
# 游戏结束界面再玩一次,返回主菜单实例化
game_over_play = Button("play_again", 541, 422)
game_over_menu = Button("game_over_menu", 560, 541)
game_over_buttons = pygame.sprite.Group()
game_over_buttons.add(game_over_play)
game_over_buttons.add(game_over_menu)
# 全部通关界面,返回主菜单和退出实例化
all_pass_return = Button("pass_return", 486, 496)
all_pass_exit = Button("pass_exit", 704, 495)
all_pass_buttons = pygame.sprite.Group()
all_pass_buttons.add(all_pass_return)
all_pass_buttons.add(all_pass_exit)
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )