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实现远程调用MetaSploit的方法
Aug 22 Python
Python中操作文件之write()方法的使用教程
May 25 Python
python分割列表(list)的方法示例
May 07 Python
spyder常用快捷键(分享)
Jul 19 Python
Python上下文管理器和with块详解
Sep 09 Python
Django REST为文件属性输出完整URL的方法
Dec 18 Python
mac下如何将python2.7改为python3
Jul 13 Python
python、PyTorch图像读取与numpy转换实例
Jan 13 Python
在pyCharm中下载第三方库的方法
Apr 18 Python
详细总结Python常见的安全问题
May 21 Python
如何在pycharm中快捷安装pip命令(如pygame)
May 31 Python
golang特有程序结构入门教程
Jun 02 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采集相关教程之一 CURL函数库
2010/02/15 PHP
php中{}大括号是什么意思
2013/12/01 PHP
PHP中对各种加密算法、Hash算法的速度测试对比代码
2014/07/08 PHP
CMS中PHP判断系统是否已经安装的方法示例
2014/07/26 PHP
php比较相似字符串的方法
2015/06/05 PHP
php中的抽象方法和抽象类
2017/02/14 PHP
Laravel 自动转换长整型雪花 ID 为字符串的实现
2020/10/27 PHP
JavaScript Archive Network 集合
2007/05/12 Javascript
javascript 获取select下拉列表值的代码
2009/09/07 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
JS构建页面的DOM节点结构的实现代码
2011/12/09 Javascript
终于解决了IE8不支持数组的indexOf方法
2013/04/03 Javascript
js获取通过ajax返回的map型的JSONArray的方法
2014/01/09 Javascript
jquery对元素拖动排序示例
2014/01/16 Javascript
js调试系列 源码定位与调试[基础篇]
2014/06/18 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
JS调用打印机功能简单示例
2016/11/28 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
javascript变量提升和闭包理解
2018/03/12 Javascript
基于JS开发微信网页录音功能的实例代码
2019/04/30 Javascript
vue cli 3.0 搭建项目的图文教程
2019/05/17 Javascript
python快速建立超简单的web服务器的实现方法
2018/02/17 Python
Python os.rename() 重命名目录和文件的示例
2018/10/25 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
15行Python代码实现免费发送手机短信推送消息功能
2020/02/27 Python
基于opencv的selenium滑动验证码的实现
2020/07/24 Python
python如何利用paramiko执行服务器命令
2020/11/07 Python
美国一家著名的儿童鞋制造商:Stride Rite
2017/01/02 全球购物
怎么写好自荐信
2013/10/30 职场文书
寒假思想汇报
2014/01/10 职场文书
公司成本主管岗位责任制
2014/02/21 职场文书
个人廉洁自律承诺书
2014/03/27 职场文书
小班开学寄语
2014/04/04 职场文书
小学亲子活动总结
2014/07/01 职场文书
实习生矿工检讨书
2014/10/13 职场文书