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


Posted in Python onNovember 20, 2018

本文为大家分享了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()

效果图:

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

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

Python 相关文章推荐
python网络爬虫采集联想词示例
Feb 11 Python
python中Flask框架简单入门实例
Mar 21 Python
浅谈MySQL中的触发器
May 05 Python
Python中type的构造函数参数含义说明
Jun 21 Python
python书籍信息爬虫实例
Mar 19 Python
Python实现的矩阵转置与矩阵相乘运算示例
Mar 26 Python
解决yum对python依赖版本问题
Jul 05 Python
python3.6编写的单元测试示例
Aug 17 Python
python如何提取英语pdf内容并翻译
Mar 03 Python
Python tempfile模块生成临时文件和临时目录
Sep 30 Python
python单元测试框架pytest的使用示例
Oct 07 Python
python简单实现插入排序实例代码
Dec 16 Python
pygame游戏之旅 载入小车图片、更新窗口
Nov 20 #Python
一文带你了解Python中的字符串是什么
Nov 20 #Python
pygame游戏之旅 创建游戏窗口界面
Nov 20 #Python
pygame游戏之旅 python和pygame安装教程
Nov 20 #Python
python2和python3的输入和输出区别介绍
Nov 20 #Python
python使用pygame框架实现推箱子游戏
Nov 20 #Python
浅析python的优势和不足之处
Nov 20 #Python
You might like
全国FM电台频率大全 - 31 新疆维吾尔族自治区
2020/03/11 无线电
php通用防注入程序 推荐
2011/02/26 PHP
使用PHP生成二维码的方法汇总
2015/07/22 PHP
php版微信公众平台接口参数调试实现判断用户行为的方法
2016/09/23 PHP
小议Function.apply() 之一------(函数的劫持与对象的复制)
2006/11/30 Javascript
教您去掉ie网页加载进度条的方法
2010/12/09 Javascript
JavaScript之引用类型介绍
2012/08/10 Javascript
js监听键盘事件示例代码
2013/07/26 Javascript
Ajax提交与传统表单提交的区别说明
2014/02/07 Javascript
D3.js实现文本的换行详解
2016/10/14 Javascript
js 中文汉字转Unicode、Unicode转中文汉字、ASCII转换Unicode、Unicode转换ASCII、中文转换
2016/12/06 Javascript
深入学习jQuery中的data()
2016/12/22 Javascript
详解基于angular-cli配置代理解决跨域请求问题
2017/07/05 Javascript
js 事件的传播机制(实例讲解)
2017/07/20 Javascript
jQuery选择器之子元素过滤选择器
2017/09/28 jQuery
IntersectionObserver实现图片懒加载的示例
2017/09/29 Javascript
JS Testing Properties 判断属性是否在对象里的方法
2017/10/01 Javascript
微信小程序使用request网络请求操作实例
2017/12/15 Javascript
layui prompt 设置允许空白提交的方法
2019/09/24 Javascript
electron-vue开发环境内存泄漏问题汇总
2019/10/10 Javascript
Node.js API详解之 repl模块用法实例分析
2020/05/25 Javascript
numpy中索引和切片详解
2017/12/15 Python
python pandas修改列属性的方法详解
2018/06/09 Python
Python基于多线程操作数据库相关问题分析
2018/07/11 Python
Python实现登陆文件验证方法
2018/10/06 Python
Python用61行代码实现图片像素化的示例代码
2018/12/10 Python
python 调用pyautogui 实时获取鼠标的位置、移动鼠标的方法
2019/08/27 Python
python实现贪吃蛇双人大战
2020/04/18 Python
实例讲解CSS3中的border-radius属性
2015/08/18 HTML / CSS
全球性的在线时尚男装零售商:boohooMAN
2016/12/17 全球购物
艺术专业大学生自我评价
2013/09/22 职场文书
小学班主任寄语大全
2014/04/04 职场文书
群众路线领导班子整改方案
2014/10/25 职场文书
乡镇党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
浅谈Laravel中使用Slack进行异常通知
2021/05/29 PHP
SQL Server2019数据库备份与还原脚本,数据库可批量备份
2021/11/20 SQL Server