- Python
pygame游戏示例-操控白色方块移动
- 2024-9-8 11:41:44 @
下面是一个使用pygame库创建的非常简单的游戏示例。这个游戏将创建一个窗口,并在窗口中绘制一个可以随着键盘箭头键移动的方块。
步骤 1: 安装pygame
首先,确保你已经安装了pygame库。如果没有安装,可以通过以下命令安装:
pip install pygame
步骤 2: 编写游戏代码
创建一个Python文件,例如simple_game.py
,然后编写以下代码:
import pygame
import sys
# 初始化pygame
pygame.init()
# 设置屏幕大小
WIDTH, HEIGHT = 640, 480
screen = pygame.display.set_mode((WIDTH, HEIGHT))
# 设置标题
pygame.display.set_caption("Simple Pygame Example")
# 设置颜色
BLACK = (0, 0, 0)
WHITE = (255, 255, 255)
# 设置方块初始位置和大小
block_pos = [WIDTH // 2, HEIGHT // 2]
block_size = 50
# 设置帧率
clock = pygame.time.Clock()
FPS = 60
# 游戏主循环
running = True
while running:
# 事件处理
for event in pygame.event.get():
if event.type == pygame.QUIT:
running = False
# 按键处理
keys = pygame.key.get_pressed()
if keys[pygame.K_LEFT]:
block_pos[0] -= 5
if keys[pygame.K_RIGHT]:
block_pos[0] += 5
if keys[pygame.K_UP]:
block_pos[1] -= 5
if keys[pygame.K_DOWN]:
block_pos[1] += 5
# 防止方块移出屏幕
if block_pos[0] < 0:
block_pos[0] = 0
if block_pos[0] > WIDTH - block_size:
block_pos[0] = WIDTH - block_size
if block_pos[1] < 0:
block_pos[1] = 0
if block_pos[1] > HEIGHT - block_size:
block_pos[1] = HEIGHT - block_size
# 渲染
screen.fill(BLACK) # 用黑色填充屏幕
pygame.draw.rect(screen, WHITE, (block_pos[0], block_pos[1], block_size, block_size)) # 绘制白色方块
# 更新屏幕
pygame.display.flip()
# 控制游戏帧率
clock.tick(FPS)
# 退出pygame
pygame.quit()
sys.exit()
步骤 3: 运行游戏
保存文件并在命令行中运行以下命令:
python simple_game.py
游戏说明
- 这个游戏创建了一个640x480像素的窗口。
- 窗口中有一个白色的方块,你可以使用键盘的箭头键来移动它。
- 游戏会持续运行,直到你关闭窗口。
这个示例展示了pygame的基本使用,包括初始化、事件处理、键盘输入、渲染和屏幕更新。你可以在此基础上添加更多的功能,如增加更多的图形、声音效果、游戏逻辑等,来创建更复杂的游戏。
1 条评论
-
mrhowe SU @ 2024-9-8 11:54:51
import pygame import sys # 初始化pygame pygame.init() # 设置屏幕大小 WIDTH, HEIGHT = 640, 480 screen = pygame.display.set_mode((WIDTH, HEIGHT)) # 设置标题 pygame.display.set_caption("Simple Pygame Example") # 设置颜色 BLACK = (0, 0, 0) WHITE = (255, 255, 255) # 设置方块初始位置和大小 block_pos = [WIDTH // 2, HEIGHT // 2] block_size = 50 # 设置帧率 clock = pygame.time.Clock() FPS = 1000 # 游戏主循环 running = True while running: # 事件处理 for event in pygame.event.get(): if event.type == pygame.QUIT: running = False # 按键处理 keys = pygame.key.get_pressed() if keys[pygame.K_LEFT]: block_pos[0] -= 5 if keys[pygame.K_RIGHT]: block_pos[0] += 5 if keys[pygame.K_UP]: block_pos[1] -= 5 if keys[pygame.K_DOWN]: block_pos[1] += 5 # 防止方块移出屏幕 if block_pos[0] < 0: block_pos[0] = 0 if block_pos[0] > WIDTH - block_size: block_pos[0] = WIDTH - block_size if block_pos[1] < 0: block_pos[1] = 0 if block_pos[1] > HEIGHT - block_size: block_pos[1] = HEIGHT - block_size # 渲染 screen.fill(BLACK) # 用黑色填充屏幕 pygame.draw.rect(screen, WHITE, (block_pos[0], block_pos[1], block_size, block_size)) # 绘制白色方块 pygame.draw.rect(screen, (255,0,0), (WIDTH-block_pos[0]-block_size, block_pos[1], block_size, block_size)) # 绘制白色方块 pygame.draw.rect(screen, (0,255,0), (block_pos[0], HEIGHT-block_pos[1]-block_size, block_size, block_size)) # 绘制白色方块 pygame.draw.rect(screen, (0,0,255), (WIDTH-block_pos[0]-block_size, HEIGHT-block_pos[1]-block_size, block_size, block_size)) # 绘制白色方块 pygame.draw.rect(screen, WHITE, (block_pos[0], block_pos[1], block_size, block_size)) # 更新屏幕 pygame.display.flip() # 控制游戏帧率 clock.tick(FPS) # 退出pygame pygame.quit() sys.exit()
- 1