使用字体渲染实现返回按钮

This commit is contained in:
星外之神 2022-07-29 07:42:23 +08:00
parent c2d1483fb6
commit 280d8c2a57
5 changed files with 23 additions and 8 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

View File

@ -13,7 +13,7 @@ def getSunValueImage(sun_value):
msg_rect = msg_image.get_rect()
msg_w = msg_rect.width
image = pg.Surface([width, 17])
image = pg.Surface((width, 17))
x = width - msg_w
image.fill(c.LIGHTYELLOW)

View File

@ -79,7 +79,6 @@ EXIT = 'exit'
# 游戏界面可选的菜单
LITTLE_MENU = 'littleMenu'
BIG_MENU = 'bigMenu'
RETURN_BUTTON = 'returnButton'
RESTART_BUTTON = 'restartButton'
MAINMENU_BUTTON = 'mainMenuButton'
LITTLEGAME_BUTTON = 'littleGameButton'

View File

@ -510,12 +510,20 @@ class Level(tool.State):
self.big_menu_rect.x = 150
self.big_menu_rect.y = 0
# 返回按钮
frame_rect = (0, 0, 342, 87)
self.return_button = tool.get_image_menu(tool.GFX[c.RETURN_BUTTON], *frame_rect, c.BLACK, 1.1)
# 返回按钮,用字体渲染实现,增强灵活性
# 建立一个按钮大小的surface对象
self.return_button = pg.Surface((376, 96))
self.return_button.set_colorkey(c.BLACK) # 避免多余区域显示成黑色
self.return_button_rect = self.return_button.get_rect()
self.return_button_rect.x = 220
self.return_button_rect.y = 440
font = pg.font.Font(c.FONT_PATH, 40)
font.bold = True
text = font.render("返回游戏", True, c.YELLOWGREEN)
text_rect = text.get_rect()
text_rect.x = 105
text_rect.y = 18
self.return_button.blit(text, text_rect)
# 重新开始按钮
frame_rect = (0, 0, 207, 45)

View File

@ -167,12 +167,20 @@ class Menu(tool.State):
self.big_menu_rect.x = 150
self.big_menu_rect.y = 0
# 返回按钮
frame_rect = (0, 0, 342, 87)
self.return_button = tool.get_image_menu(tool.GFX[c.RETURN_BUTTON], *frame_rect, c.BLACK, 1.1)
# 返回按钮,用字体渲染实现,增强灵活性
# 建立一个按钮大小的surface对象
self.return_button = pg.Surface((376, 96))
self.return_button.set_colorkey(c.BLACK) # 避免多余区域显示成黑色
self.return_button_rect = self.return_button.get_rect()
self.return_button_rect.x = 220
self.return_button_rect.y = 440
font = pg.font.Font(c.FONT_PATH, 40)
font.bold = True
text = font.render("返回游戏", True, c.YELLOWGREEN)
text_rect = text.get_rect()
text_rect.x = 105
text_rect.y = 18
self.return_button.blit(text, text_rect)
# 音量+、音量-
frame_rect = (0, 0, 39, 41)