在 Pygame 中创建开始菜单
游戏 是一个Python库,可专门用于设计和构建游戏。游戏 仅支持使用不同形状或精灵构建的 2d 游戏。 Pygame 没有内置的布局设计或任何内置的 UI 系统,这意味着没有简单的方法来制作游戏的 UI 或关卡。在 pygame 中制作关卡或不同菜单的唯一方法是使用函数。
将功能用作菜单
Pygame 中的函数是一种包含不同菜单或级别的方法,方法是在每个函数中定义一个事件类型,然后从它们各自的容器函数。
例如,如果玩家点击开始菜单上的播放按钮,就会调用游戏函数。因此,开始菜单函数成为游戏函数。需要注意的重要一点是 start函数不能直接从 game 函数。如果游戏包含不同的可解锁关卡,则上一个关卡成为下一个关卡的容器函数。
包含开始菜单的游戏示例代码
演示菜单和级别的Python程序
Python
import pygame
import sys
# initializing the constructor
pygame.init()
# screen resolution
res = (720,720)
# opens up a window
screen = pygame.display.set_mode(res)
# white color
color = (255,255,255)
# light shade of the button
color_light = (170,170,170)
# dark shade of the button
color_dark = (100,100,100)
# stores the width of the
# screen into a variable
width = screen.get_width()
# stores the height of the
# screen into a variable
height = screen.get_height()
# defining a font
smallfont = pygame.font.SysFont('Corbel',35)
# rendering a text written in
# this font
text = smallfont.render('quit' , True , color)
while True:
for ev in pygame.event.get():
if ev.type == pygame.QUIT:
pygame.quit()
#checks if a mouse is clicked
if ev.type == pygame.MOUSEBUTTONDOWN:
#if the mouse is clicked on the
# button the game is terminated
if width/2 <= mouse[0] <= width/2+140 and height/2 <= mouse[1] <= height/2+40:
pygame.quit()
# fills the screen with a color
screen.fill((60,25,60))
# stores the (x,y) coordinates into
# the variable as a tuple
mouse = pygame.mouse.get_pos()
# if mouse is hovered on a button it
# changes to lighter shade
if width/2 <= mouse[0] <= width/2+140 and height/2 <= mouse[1] <= height/2+40:
pygame.draw.rect(screen,color_light,[width/2,height/2,140,40])
else:
pygame.draw.rect(screen,color_dark,[width/2,height/2,140,40])
# superimposing the text onto our button
screen.blit(text , (width/2+50,height/2))
# updates the frames of the game
pygame.display.update()
输出: