绘制玩家飞机:- # 引入图片创建玩家
- player = pygame.image.load("./images/me1.png")
复制代码- # 绘制玩家
- screen.blit(player, (179, 500))
复制代码 控制飞机移动:
1.引入pygame中的所有方法- #引入pygame中的所有方法
- from pygame.constants import K_UP, K_RIGHT, K_DOWN, K_LEFT,K_w,K_a,K_s,K_d,K_SPACE
复制代码 2.判断左右按键- #判断是否为按下键盘事件
- elif event.type == pygame.KEYDOWN:
- #判断是否为按下a或者按下左键
- if event.key == K_a or event.key == K_LEFT:
- print ("左")
- # 判断是否为按下d或者按下右键
- if event.key == K_d or event.key == K_RIGHT:
- print ("右")
复制代码 通过新的方式对按下按键进行判断:
这样可以对上下左右和空格判断其按下时一直输出- # 判断按下键盘事件
- 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 ("空格")
复制代码 引入time模块:
由于输出过快所以引入time模块防止玩家运动速度过快使程序隔0.01秒运行一次。- # 引入time模块import time#引入pygame中的所有方法
- from pygame.constants import K_UP, K_RIGHT, K_DOWN, K_LEFT,K_w,K_a,K_s,K_d,K_SPACE
复制代码- # 使程序每次运行时停留0.01秒
- time.sleep(0.01)
复制代码 完整代码: - # 引入pygameimport pygame# 引入time模块import time#引入pygame中的所有方法
- 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()
复制代码 来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! |