找回密码
 立即注册
首页 业界区 业界 pygame小游戏打飞机_3键盘事件

pygame小游戏打飞机_3键盘事件

背竽 4 小时前
键盘事件
通过判断键盘按下的方向键执行位移指令
  1. # 引用pygame
  2. import pygame
  3. # 使程序初始化
  4. pygame.init()
  5. # 设置图像参数
  6. screen = pygame.display.set_mode((480, 700))
  7. # 设置标题
  8. pygame.display.set_caption('打飞机')
  9. # 引入图片
  10. icon = pygame.image.load('ufo.png')
  11. pygame.display.set_icon(icon)
  12. # 引入背景图片
  13. bgImg = pygame.image.load('background.png')
  14. # 引入玩家图片
  15. playerImg = pygame.image.load('player.png')
  16. # 定义玩家初始位置
  17. playerX = 225
  18. playerY = 350
  19. # 新增 定义变量表示运动距离
  20. playerStep = 0
  21. running = True
  22. # 进行循环 游戏主循环
  23. while running:
  24.     # 绘制背景
  25.     screen.blit(bgImg, (0, 0))
  26.     # 绘制玩家
  27.     screen.blit(playerImg, (playerX, playerY))
  28.     # 获取游戏事件队列中的所有事件(涉及到玩家的各种交互,如鼠标点击、键盘操作、窗口事件等)
  29.     for event in pygame.event.get():
  30.         # 如果事件是QUIT事件,如点击窗口的关闭按钮,则退出循环
  31.         if event.type == pygame.QUIT:
  32.             # 退出循环
  33.             running = False
  34.         # 新增 KEYDOWN判断键盘按下的类型
  35.         if event.type == pygame.KEYDOWN:
  36.             # 新增 判断按下向左右键进行移动赋值
  37.             if event.key == pygame.K_RIGHT:
  38.                 playerStep = 1
  39.             elif event.key == pygame.K_LEFT:
  40.                 playerStep = -1
  41.         # 新增 KEYUP判断键盘抬起的类型
  42.         if event.type == pygame.KEYUP:
  43.             # 新增 抬起键盘时将移动距离改为0
  44.             playerStep = 0
  45.     # 新增 进行位移
  46.     playerX += playerStep
  47.     # 控制边界
  48.     if playerX > 378:
  49.         playerX = 378
  50.     if playerX < 0:
  51.         playerX = 0
  52.     if playerY > 572:
  53.         playerY = 572
  54.     if playerY < 0:
  55.         playerY = 0
  56.     # 界面更新
  57.     pygame.display.update()
复制代码
如下所示当按方向键(左、右)能控制飞机移动则成功
1.gif

 

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册