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中的输入和输出功能进行读取和写入的教程
Apr 14 Python
解决Python传递中文参数的问题
Aug 04 Python
python访问mysql数据库的实现方法(2则示例)
Jan 06 Python
python判断字符串编码的简单实现方法(使用chardet)
Jul 01 Python
python判断设备是否联网的方法
Jun 29 Python
python 自动重连wifi windows的方法
Dec 18 Python
Python构建图像分类识别器的方法
Jan 12 Python
pyqt5 键盘监听按下enter 就登陆的实例
Jun 25 Python
Python Pandas实现数据分组求平均值并填充nan的示例
Jul 04 Python
Django  ORM 练习题及答案
Jul 19 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 Python
使用py-spy解决scrapy卡死的问题方法
Sep 29 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
PHP 写文本日志实现代码
2010/05/18 PHP
php 批量替换html标签的实例代码
2013/11/26 PHP
php加密解密字符串示例
2016/10/13 PHP
js对象转json数组的简单实现案例
2014/02/28 Javascript
jQuery删除节点用法示例(remove方法)
2016/09/08 Javascript
ionic由于使用了header和subheader导致被遮挡的问题的两种解决方法
2016/09/22 Javascript
js select下拉联动 更具级联性!
2020/04/17 Javascript
原生js实现简单的链式操作
2017/07/04 Javascript
jQuery 循环遍历改变a标签的href(实例讲解)
2017/07/12 jQuery
浅谈HTTP 缓存的那些事儿
2018/10/17 Javascript
Vue中的基础过渡动画及实现原理解析
2018/12/04 Javascript
微信小程序实现简单购物车功能
2020/12/30 Javascript
Vue+Bootstrap实现简易学生管理系统
2021/02/09 Vue.js
[30:37]【全国守擂赛】第三周擂主赛 Dark Knight vs. Leopard Gaming
2020/05/04 DOTA
使用graphics.py实现2048小游戏
2015/03/10 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
python pandas dataframe 按列或者按行合并的方法
2018/04/12 Python
python 自定义异常和异常捕捉的方法
2018/10/18 Python
Django框架自定义session处理操作示例
2019/05/27 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
pytorch方法测试详解——归一化(BatchNorm2d)
2020/01/15 Python
TensorFlow实现从txt文件读取数据
2020/02/05 Python
PyCharm 在Windows的有用快捷键详解
2020/04/07 Python
BONIA官方网站:国际奢侈品牌和皮革专家
2016/11/27 全球购物
Smallable英国家庭概念店:设计师童装及家居装饰
2017/07/05 全球购物
荷兰街头时尚之家:Funkie House
2019/03/18 全球购物
您的时尚,您的生活方式:DTLR Villa
2019/12/25 全球购物
应届生新闻编辑求职信
2013/11/19 职场文书
研发工程师岗位职责
2014/04/28 职场文书
汉语言文学专业自荐信
2014/06/11 职场文书
实习生矿工检讨书
2014/10/13 职场文书
教师工作态度自我评价
2015/03/05 职场文书
2019年世界儿童日宣传标语
2019/11/22 职场文书
MySQL优化之如何写出高质量sql语句
2021/05/17 MySQL
MySQL如何解决幻读问题
2021/08/07 MySQL
【DOTA2】高能暴走TK秀!PSG LGD vs ASTER - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA