找回密码
 立即注册
首页 业界区 安全 pygame小游戏飞机大战_2玩家按键操作

pygame小游戏飞机大战_2玩家按键操作

蓟晓彤 2025-8-6 19:57:30
绘制玩家飞机:
  1. # 引入图片创建玩家
  2. player = pygame.image.load("./images/me1.png")
复制代码
  1. # 绘制玩家
  2. screen.blit(player, (179, 500))
复制代码
控制飞机移动:
1.引入pygame中的所有方法
  1. #引入pygame中的所有方法
  2. from pygame.constants import K_UP, K_RIGHT, K_DOWN, K_LEFT,K_w,K_a,K_s,K_d,K_SPACE
复制代码
2.判断左右按键
  1. #判断是否为按下键盘事件
  2. elif event.type == pygame.KEYDOWN:
  3.     #判断是否为按下a或者按下左键
  4.     if event.key == K_a or event.key == K_LEFT:
  5.         print ("左")
  6.     # 判断是否为按下d或者按下右键
  7.     if event.key == K_d or event.key == K_RIGHT:
  8.         print ("右")
复制代码
 通过新的方式对按下按键进行判断:
这样可以对上下左右和空格判断其按下时一直输出
  1. # 判断按下键盘事件
  2.     key_pressed=pygame.key.get_pressed()
  3.     if key_pressed[K_w] or key_pressed[K_UP]:
  4.         print ("上")
  5.     if key_pressed[K_a] or key_pressed[K_RIGHT]:
  6.         print ("左")
  7.     if key_pressed[K_d] or key_pressed[K_LEFT]:
  8.         print ("右")
  9.     if key_pressed[K_s] or key_pressed[K_DOWN]:
  10.         print("下")
  11.     if key_pressed[K_SPACE] :
  12.         print ("空格")
复制代码
引入time模块:
由于输出过快所以引入time模块防止玩家运动速度过快使程序隔0.01秒运行一次。
  1. # 引入time模块import time#引入pygame中的所有方法
  2. from pygame.constants import K_UP, K_RIGHT, K_DOWN, K_LEFT,K_w,K_a,K_s,K_d,K_SPACE
复制代码
  1. # 使程序每次运行时停留0.01秒
  2. time.sleep(0.01)
复制代码
完整代码: 
  1. # 引入pygameimport pygame# 引入time模块import time#引入pygame中的所有方法
  2. from pygame.constants import K_UP, K_RIGHT, K_DOWN, K_LEFT,K_w,K_a,K_s,K_d,K_SPACE# 创建main函数创建主程序def main():    # 创建一个窗口    screen = pygame.display.set_mode((480, 700), 0, 32)    # 引入图片创建背景    background = pygame.image.load("./images/background.png")    # 引入图片创建玩家    player = pygame.image.load("./images/me1.png")    # 绘制背景    screen.blit(background, (0, 0))    # 绘制玩家    screen.blit(player, (179, 500))    while True:        # 获取事件        for event in pygame.event.get():            # 如果事件是QUIT事件,如点击窗口的关闭按钮,则退出循环            if event.type == pygame.QUIT:                # 执行退出游戏                pygame.quit                # 退出程序                exit()        # 判断按下键盘事件            key_pressed=pygame.key.get_pressed()            if key_pressed[K_w] or key_pressed[K_UP]:                print ("上")            if key_pressed[K_a] or key_pressed[K_RIGHT]:                print ("左")            if key_pressed[K_d] or key_pressed[K_LEFT]:                print ("右")            if key_pressed[K_s] or key_pressed[K_DOWN]:                print("下")            if key_pressed[K_SPACE] :                print ("空格")        # 界面更新        pygame.display.update()        # 使程序每次运行时停留0.01秒        time.sleep(0.01)if __name__ == '__main__':    main()
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
您需要登录后才可以回帖 登录 | 立即注册