• 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 条评论

  • @ 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