python贪吃蛇游戏项目 pygame基础函数介绍

初始化与主循环

pygame.init()

初始化所有 Pygame 模块(必须写在一开始)。

pygame.quit()

退出 Pygame(程序结束时使用)。

创建窗口

screen = pygame.display.set_mode((宽度, 高度))

建立游戏窗口,并返回一个 Surface 对象。

设置窗口标题

pygame.display.set_caption("我的游戏")

事件处理(keyboard / mouse)

Pygame 通过事件队列取得输入:

pygame.event.get()

取得所有事件(键盘、鼠标、退出按钮)。

示例:

for event in pygame.event.get():
    if event.type == pygame.QUIT:
        running = False

键盘事件判断

if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_LEFT:
        print("左键按下")

鼠标位置

x, y = pygame.mouse.get_pos()

鼠标按键状态

buttons = pygame.mouse.get_pressed()

绘图函数(画线、矩形、圆形)

画线

pygame.draw.line(screen, 颜色, 起点, 终点, 线宽)

画矩形

pygame.draw.rect(screen, 颜色, (x, y, w, h))

画圆形

pygame.draw.circle(screen, 颜色, (x, y), 半径)

Surface 操作(图像渲染)

blit():把图像画到屏幕

screen.blit(图片, (x, y))

载入图片

img = pygame.image.load("player.png")

缩放图片

img = pygame.transform.scale(img, (50, 50))

时间控制(FPS)

Clock 控制帧率

clock = pygame.time.Clock()

在循环中使用

clock.tick(60)  # 限制为 60 FPS

文字渲染

载入字体

font = pygame.font.SysFont(None, 40)  # None = 默认字体

文字生成 Surface

text = font.render("Score: 10", True, (255,255,255))

显示文字

screen.blit(text, (10, 10))

音乐与音效

播放背景音乐

pygame.mixer.music.load("bgm.mp3")
pygame.mixer.music.play(-1)   # -1 代表循环播放

播放音效

sound = pygame.mixer.Sound("jump.wav")
sound.play()

Rect(碰撞检测最常用)

建立 Rect

player = pygame.Rect(x, y, w, h)

碰撞检测

if player.colliderect(enemy):
    print("碰到了")

移动 Rect

player.x += 5
player.y -= 3

更新画面

pygame.display.update()

更新整个屏幕(常用)。

pygame.display.flip()

功能与 update 基本相同。