pygame游戏之旅 添加键盘按键的方法

 更新时间:2018年11月20日 10:12:12   作者:观月执白  
这篇文章主要为大家详细介绍了pygame游戏之旅的第4篇,教大家如何添加键盘按键,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

本文为大家分享了pygame游戏之旅的第4篇,供大家参考,具体内容如下

按键类型用event.type表示,按键用event.key表示

KEYDOWN和KEYUP的参数描述如下:

key – 按下或者放开的键值,是一个数字,估计地球上很少有人可以记住,所以Pygame中可以使用K_xxx来表示,比如字母a就是K_a,还有K_SPACE和K_RETURN等。
mod – 包含了组合键信息,如果mod & KMOD_CTRL是真的话,表示用户同时按下了Ctrl键。类似的还有KMOD_SHIFT,KMOD_ALT。
unicode – 代表了按下键的Unicode值,这个有点不好理解,真正说清楚又太麻烦,游戏中也不太常用,说明暂时省略,什么时候需要再讲吧。

提前设置需要移动的距离

x_change = 0

并把car的移动到应该的位置

x += x_change

把所有的游戏循环写入game_loop函数中

代码:

import pygame
 
pygame.init()
 
white = (255,255,255)
 
car_width = 100
 
display_width = 800
display_height = 600
 
 
gameDisplay = pygame.display.set_mode( (display_width,display_height) )
pygame.display.set_caption('A bit Racey')
clock = pygame.time.Clock()
 
carImg = pygame.image.load('car.png')
 
def car(x, y):
 gameDisplay.blit(carImg, (x,y))
 
def game_loop():
 x = display_width * 0.45
 y = display_height * 0.8
 x_change = 0
 
 gameExit = False
 
 while not gameExit:
  for event in pygame.event.get():
   if event.type == pygame.QUIT:
    gameExit = True
   if event.type == pygame.KEYDOWN:
    if event.key == pygame.K_LEFT:
     x_change = -5
    elif event.key == pygame.K_RIGHT:
     x_change = 5
   if event.type == pygame.KEYUP:
    if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
     x_change = 0
   print(event)
  x += x_change
  gameDisplay.fill(white)
  car(x,y)
  if x > display_width - car_width or x < 0:
   gameExit = True
  pygame.display.update()
  clock.tick(60)
 
game_loop()
pygame.quit()
quit()

效果图:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 部署Python的框架下的web app的详细教程

    部署Python的框架下的web app的详细教程

    这篇文章主要介绍了Python部署web app的详细教程,示例代码基于Python2.x版本,需要的朋友可以参考下
    2015-04-04
  • Python中按键来获取指定的值

    Python中按键来获取指定的值

    今天小编就为大家分享一篇关于Python中按键来获取指定的值,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • MacOS(M1芯片 arm架构)下安装PyTorch的详细过程

    MacOS(M1芯片 arm架构)下安装PyTorch的详细过程

    这篇文章主要介绍了MacOS(M1芯片 arm架构)下安装PyTorch的详细过程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • 14个用Python实现的Excel常用操作总结

    14个用Python实现的Excel常用操作总结

    自从学了Python后就逼迫自己不用Excel,所有操作用Python实现。目的是巩固Python,与增强数据处理能力。本文为大家总结了14个用Python实现的Excel常用操作,需要的可以参考一下
    2022-06-06
  • Python中的流程控制详解

    Python中的流程控制详解

    这篇文章主要介绍了Python中的流程控制的相关资料,帮助大家更好的理解和学习使用python,感兴趣的朋友可以了解下
    2021-02-02
  • Pandas之DataFrame对象的列和索引之间的转化

    Pandas之DataFrame对象的列和索引之间的转化

    这篇文章主要介绍了Pandas之DataFrame对象的列和索引之间的转化,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • Python实现从概率分布中随机采样

    Python实现从概率分布中随机采样

    这篇文章主要介绍了通过几个机器学习中最常用的概率分布为例,来看看如何从一个概率分布中采样,文章中的代码对我们的工作或学习具有一定价值,感兴趣的朋友可以了解一下
    2021-12-12
  • Python中将两个或多个list合成一个list的方法小结

    Python中将两个或多个list合成一个list的方法小结

    python中,list这种数据结构很常用到,如果两个或者多个list结构相同,内容类型相同,我们通常会将两个或者多个list合并成一个,这样我们再循环遍历的时候就可以一次性处理掉了
    2019-05-05
  • Python打包为exe详细教程

    Python打包为exe详细教程

    今天给大家介绍如何用Python打包exe,文中有非常详细的教程,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • 熵值法原理及Python实现的示例详解

    熵值法原理及Python实现的示例详解

    熵值法也称熵权法,是学术研究及实际应用中的一种常用且有效的编制指标的方法。本文就来和大家聊聊熵值法原理及Python实现,感兴趣的小伙伴可以跟随小编一起学习一下
    2023-02-02

最新评论