用python写一个星际射击游戏的开始界面,包含开始游戏,调整难度,退出游戏等按钮选项
时间: 2024-02-25 22:54:01 浏览: 210
好的,下面是一个简单的开始界面的 Python 代码,使用了 Pygame 库:
```python
import pygame
import sys
# 初始化 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('Arial', 60)
text_color = (255, 255, 255)
# 创建按钮类
class Button:
def __init__(self, x, y, width, height, text):
self.rect = pygame.Rect(x, y, width, height)
self.text = text
self.clicked = False
def draw(self, surface):
# 绘制按钮矩形和文字
pygame.draw.rect(surface, (255, 255, 255), self.rect, 2)
text_surface = font.render(self.text, True, text_color)
text_rect = text_surface.get_rect(center=self.rect.center)
surface.blit(text_surface, text_rect)
def handle_event(self, event):
# 处理按钮事件
if event.type == pygame.MOUSEBUTTONDOWN and event.button == 1:
if self.rect.collidepoint(event.pos):
self.clicked = True
# 创建三个按钮实例
start_button = Button(300, 250, 200, 80, '开始游戏')
difficulty_button = Button(300, 350, 200, 80, '调整难度')
quit_button = Button(300, 450, 200, 80, '退出游戏')
# 游戏主循环
while True:
# 处理事件
for event in pygame.event.get():
if event.type == pygame.QUIT:
sys.exit()
start_button.handle_event(event)
difficulty_button.handle_event(event)
quit_button.handle_event(event)
# 绘制背景和按钮
screen.fill((0, 0, 0))
start_button.draw(screen)
difficulty_button.draw(screen)
quit_button.draw(screen)
# 判断按钮是否被点击
if start_button.clicked:
# 点击了开始游戏按钮,进入游戏界面
# TODO: 编写游戏界面代码
pass
elif difficulty_button.clicked:
# 点击了调整难度按钮,弹出难度设置对话框
# TODO: 编写难度设置对话框代码
pass
elif quit_button.clicked:
# 点击了退出游戏按钮,退出程序
sys.exit()
# 更新屏幕
pygame.display.update()
```
这段代码创建了三个按钮实例,分别代表开始游戏、调整难度和退出游戏。在游戏主循环中,每次绘制屏幕时都会绘制这三个按钮,并且检测它们是否被点击。如果某个按钮被点击了,就执行相应的操作。
阅读全文