pygame小游戏怎么添加游戏开始和结束的界面 代码演示
时间: 2024-03-18 21:42:17 浏览: 138
用JAVA编写的贪吃蛇小游戏 实现了开始START界面,结束GAME OVER界面,.zip
下面是一个简单的示例代码,演示如何添加游戏开始和结束的界面:
```
import pygame
pygame.init()
# 游戏屏幕大小和标题
screen_width = 800
screen_height = 600
screen = pygame.display.set_mode((screen_width, screen_height))
pygame.display.set_caption("游戏标题")
# 游戏字体
font = pygame.font.SysFont(None, 48)
# 游戏状态
state = "start"
# 游戏循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
pygame.quit()
exit()
# 处理鼠标点击事件
if event.type == pygame.MOUSEBUTTONDOWN:
if state == "start":
# 点击了开始按钮,进入游戏
state = "playing"
elif state == "gameover":
# 点击了重新开始按钮,重新开始游戏
state = "playing"
# 绘制界面
screen.fill((255, 255, 255))
if state == "start":
# 绘制开始界面
title_text = font.render("游戏标题", True, (0, 0, 0))
screen.blit(title_text, (screen_width / 2 - title_text.get_width() / 2, 100))
start_button = pygame.Rect(screen_width / 2 - 100, 200, 200, 50)
pygame.draw.rect(screen, (0, 255, 0), start_button)
start_text = font.render("开始游戏", True, (0, 0, 0))
screen.blit(start_text, (screen_width / 2 - start_text.get_width() / 2, 210))
elif state == "playing":
# 绘制游戏界面
# ...
elif state == "gameover":
# 绘制游戏结束界面
score_text = font.render("得分:100", True, (0, 0, 0))
screen.blit(score_text, (screen_width / 2 - score_text.get_width() / 2, 100))
gameover_text = font.render("游戏结束", True, (0, 0, 0))
screen.blit(gameover_text, (screen_width / 2 - gameover_text.get_width() / 2, 200))
restart_button = pygame.Rect(screen_width / 2 - 100, 300, 200, 50)
pygame.draw.rect(screen, (0, 255, 0), restart_button)
restart_text = font.render("重新开始", True, (0, 0, 0))
screen.blit(restart_text, (screen_width / 2 - restart_text.get_width() / 2, 310))
# 更新屏幕
pygame.display.update()
```
这个示例代码中,我们定义了一个游戏状态变量`state`,初始值为`"start"`,表示游戏开始界面。在游戏开始界面中,我们绘制了游戏标题、开始按钮,并使用`Rect`对象表示按钮,使用`Font`模块创建文本并在屏幕上渲染。
在游戏循环中,我们检测鼠标点击事件,如果点击了开始按钮,将`state`变量设置为`"playing"`,进入游戏状态。如果点击了重新开始按钮,将`state`变量设置为`"playing"`,重新开始游戏。
在绘制界面时,根据当前的`state`变量的值,绘制对应的界面。在游戏结束界面中,我们绘制了得分、游戏结束提示、重新开始按钮,并使用`Rect`对象和`Font`模块创建文本,绘制在屏幕上。
最后,我们使用`pygame.display.update()`方法更新屏幕。
阅读全文