pygame小游戏打飞机_2模块显示

加入游戏背景

通过 pygame.image.load 函数引入背景图片,赋值给变量 bgImg

调用 screen.bilt 函数绘制背景图

# 引用pygame
import pygame
# 使程序初始化
pygame.init()
# 设置图像参数
screen =pygame.display.set_mode((450,700))
# 设置标题
pygame.display.set_caption('打飞机')
# 引入图片
icon=pygame.image.load('ufo.png')
# 设置游戏图标
pygame.display.set_icon(icon)
# 新增 引入背景图片
bgImg=pygame.image.load('background.png')

running =True
# 进行循环 游戏主循环
while running :
    # 绘制背景图
    screen.blit(bgImg,(0,0))
    # 获取游戏事件队列中的所有事件(涉及到玩家的各种交互,如鼠标点击、键盘操作、窗口事件等)
    for event  in pygame.event.get():
         # 如果事件是QUIT事件,如点击窗口的关闭按钮,则退出循环
        if event.type == pygame.QUIT:
            # 退出循环
            running =False
    # 新增 界面更新
    pygame.display.update()

加入背景后的界面

显示玩家

与加入背景同理,不同的是增加两个表示位置的变量用于定位玩家位置

# 引用pygame
import pygame
# 使程序初始化
pygame.init()
# 设置图像参数
screen =pygame.display.set_mode((450,700))
# 设置标题
pygame.display.set_caption('打飞机')
# 引入图片
icon=pygame.image.load('ufo.png')
# 设置游戏图标
pygame.display.set_icon(icon)
# 引入背景图片
bgImg=pygame.image.load('background.png')
# 新增 引入玩家图片
playerImg=pygame.image.load('player.png')
# 新增 定义玩家初始位置
playerX=225
playerY=350

running =True
# 进行循环 游戏主循环
while running :
    # 绘制背景图
    screen.blit(bgImg,(0,0))
    # 新增 绘制玩家
    screen.blit(playerImg, (playerX, playerY))
    # 获取游戏事件队列中的所有事件(涉及到玩家的各种交互,如鼠标点击、键盘操作、窗口事件等)
    for event  in pygame.event.get():
        # 如果事件是QUIT事件,如点击窗口的关闭按钮,则退出循环
        if event.type == pygame.QUIT:
            # 退出循环
            running =False
    # 界面更新
    pygame.display.update()

运行结果如下

移动玩家飞机

通过判断语句控制边界

可以在游戏主循环中对 playerX 或 playerY 执行 += 或 -= 运算进行移动测试,确定控制边界的语句是否有效

# 引用pygame
import pygame
# 使程序初始化
pygame.init()
# 设置图像参数
screen =pygame.display.set_mode((450,700))
# 设置标题
pygame.display.set_caption('打飞机')
# 引入图片
icon=pygame.image.load('ufo.png')
# 设置游戏图标
pygame.display.set_icon(icon)
# 引入背景图片
bgImg=pygame.image.load('background.png')
# 引入玩家图片
playerImg=pygame.image.load('player.png')
# 定义玩家初始位置
playerX=225
playerY=350

running =True
# 进行循环 游戏主循环
while running :
    # 绘制背景图
    screen.blit(bgImg,(0,0))
    # 绘制玩家
    screen.blit(playerImg, (playerX, playerY))
    # 获取游戏事件队列中的所有事件(涉及到玩家的各种交互,如鼠标点击、键盘操作、窗口事件等)
    for event  in pygame.event.get():
        # 如果事件是QUIT事件,如点击窗口的关闭按钮,则退出循环
        if event.type == pygame.QUIT:
            # 退出循环
            running =False
    # 新增 位移调试
    playerX += 1
    # playerX -= 1
    
    # 新增 控制边界
    if playerX > 378:
        playerX = 378
    if playerX < 0:
        playerX = 0
    if playerY > 572:
        playerY = 572
    if playerY < 0:
        playerY = 0

    # 界面更新
    pygame.display.update()

测试时玩家移动且有边界阻挡则成功

posted @ 2025-07-28 19:23  赛博郎中  阅读(40)  评论(0)    收藏  举报