pygame中如何使人物死亡时停止游戏,按下回车键后重新开始
时间: 2023-10-11 21:10:37 浏览: 78
要实现这个功能,你可以在游戏主循环中添加一个变量来表示游戏是否结束。当人物死亡时,将这个变量设置为True,然后在循环中检查这个变量的值,如果为True,则停止游戏并显示游戏结束画面,等待玩家按下回车键。当玩家按下回车键后,将游戏结束标志变量重置为False,并重新开始游戏。
以下是一个示例代码:
```python
import pygame
# 初始化pygame
pygame.init()
# 设置窗口大小
win_width = 640
win_height = 480
win = pygame.display.set_mode((win_width, win_height))
pygame.display.set_caption("My Game")
# 加载人物图片
player_img = pygame.image.load("player.png")
# 设置人物初始位置和速度
player_x = 100
player_y = 200
player_speed = 5
# 游戏结束标志
game_over = False
# 游戏主循环
while not game_over:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = True
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_SPACE:
# 人物跳跃
player_y -= 50
# 移动人物
player_y += player_speed
# 检查人物是否碰到窗口边界
if player_y < 0 or player_y > win_height:
game_over = True
# 绘制游戏场景
win.fill((255, 255, 255))
win.blit(player_img, (player_x, player_y))
pygame.display.update()
# 检查游戏是否结束
if game_over:
# 显示游戏结束画面
font = pygame.font.Font(None, 36)
text = font.render("Game Over", True, (255, 0, 0))
win.blit(text, ((win_width - text.get_width()) // 2, (win_height - text.get_height()) // 2))
pygame.display.update()
# 等待玩家按下回车键
while game_over:
for event in pygame.event.get():
if event.type == pygame.QUIT:
game_over = False
elif event.type == pygame.KEYDOWN:
if event.key == pygame.K_RETURN:
# 重新开始游戏
game_over = False
player_y = 200
```
在这个示例中,我们使用了一个game_over变量来表示游戏是否结束。当人物碰到窗口边界时,将game_over设置为True,游戏结束。在主循环中,如果game_over为True,就绘制游戏结束画面,并等待玩家按下回车键。当玩家按下回车键后,将game_over重置为False,重新开始游戏。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)