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中for循环详解
Jan 17 Python
Python3控制路由器——使用requests重启极路由.py
May 11 Python
python中星号变量的几种特殊用法
Sep 07 Python
Python OpenCV处理图像之滤镜和图像运算
Jul 10 Python
在numpy矩阵中令小于0的元素改为0的实例
Jan 26 Python
Python参数解析模块sys、getopt、argparse使用与对比分析
Apr 02 Python
python3图片文件批量重命名处理
Oct 31 Python
将matplotlib绘图嵌入pyqt的方法示例
Jan 08 Python
django在开发中取消外键约束的实现
May 20 Python
Python使用sys.exc_info()方法获取异常信息
Jul 23 Python
Pycharm制作搞怪弹窗的实现代码
Feb 19 Python
python第三方网页解析器 lxml 扩展库与 xpath 的使用方法
Apr 06 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 使用pcntl和libevent 实现Timer功能
2013/10/27 PHP
一个经典的PHP验证码类分享
2014/11/18 PHP
yii分页组件用法实例分析
2015/12/28 PHP
PHP获取当前URL路径的处理方法(适用于多条件筛选列表)
2017/02/10 PHP
PHP实现限制IP访问的方法
2017/04/20 PHP
jQuery 删除/替换DOM元素的几种方式
2014/05/20 Javascript
Javascript中call和apply函数的比较和使用实例
2015/02/03 Javascript
js实现跟随鼠标移动且带关闭功能的图片广告实例
2015/02/26 Javascript
jQuery使用drag效果实现自由拖拽div
2015/06/11 Javascript
js实现大转盘抽奖游戏实例
2015/06/24 Javascript
JavaScript代码判断输入的字符串是否含有特殊字符和表情代码实例
2017/08/17 Javascript
详解angularjs实现echart图表效果最简洁教程
2017/11/29 Javascript
浅谈在vue中用webpack打包之后运行文件的问题以及相关配置方法
2018/02/21 Javascript
Vue验证码60秒倒计时功能简单实例代码
2018/06/22 Javascript
CKeditor富文本编辑器使用技巧之添加自定义插件的方法
2019/06/14 Javascript
vue中实现上传文件给后台实例详解
2019/08/22 Javascript
axios如何利用promise无痛刷新token的实现方法
2019/08/27 Javascript
微信小程序实现canvas分享朋友圈海报
2020/06/21 Javascript
Node.js path模块,获取文件后缀名操作
2020/11/07 Javascript
[48:23]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#1COL VS EG第一局
2016/03/05 DOTA
python下函数参数的传递(参数带星号的说明)
2010/09/19 Python
浅谈Python程序与C++程序的联合使用
2015/04/07 Python
详谈在flask中使用jsonify和json.dumps的区别
2018/03/26 Python
Django 内置权限扩展案例详解
2019/03/04 Python
Django框架实现分页显示内容的方法详解
2019/05/10 Python
Python读取yaml文件的详细教程
2020/07/21 Python
使用Python中tkinter库简单gui界面制作及打包成exe的操作方法(二)
2020/10/12 Python
英国百安居装饰建材网上超市:B&Q
2016/09/13 全球购物
最新的咖啡店创业计划书
2013/12/30 职场文书
高二物理教学反思
2014/02/08 职场文书
共产党员公开承诺践诺书
2014/05/28 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
大学课外活动总结
2014/07/09 职场文书
2015年感恩母亲节的演讲稿
2015/03/18 职场文书
用python修改excel表某一列内容的操作方法
2021/06/11 Python
SpringBoot整合阿里云视频点播的过程详解
2021/12/06 Java/Android