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 字符串格式化代码
Mar 17 Python
Python安装官方whl包和tar.gz包的方法(推荐)
Jun 04 Python
python中使用xlrd读excel使用xlwt写excel的实例代码
Jan 31 Python
利用Anaconda简单安装scrapy框架的方法
Jun 13 Python
python如何发布自已pip项目的方法步骤
Oct 09 Python
Opencv实现抠图背景图替换功能
May 21 Python
python 爬虫百度地图的信息界面的实现方法
Oct 27 Python
50行Python代码实现视频中物体颜色识别和跟踪(必须以红色为例)
Nov 20 Python
Python序列类型的打包和解包实例
Dec 21 Python
python GUI编程(Tkinter) 创建子窗口及在窗口上用图片绘图实例
Mar 04 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
Django ModelForm组件原理及用法详解
Oct 12 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
五款常用mysql slow log分析工具的比较分析
2011/05/22 PHP
thinkPHP自动验证、自动添加及表单错误问题分析
2016/10/17 PHP
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
2013/08/05 Javascript
JQuery页面的表格数据的增加与分页的实现
2013/12/10 Javascript
javaScript如何处理从java后台返回的list
2014/04/24 Javascript
jquery实现倒计时功能
2015/12/28 Javascript
解决JS组件bootstrap table分页实现过程中遇到的问题
2016/04/21 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
AngularJS 整理一些优化的小技巧
2016/08/18 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
微信小程序 开发经验整理
2017/02/15 Javascript
Bootstrap学习笔记 轮播(Carousel)插件
2017/03/21 Javascript
微信小程序获取循环元素id以及wx.login登录操作
2017/08/17 Javascript
js阻止默认右键的下拉菜单方法
2018/01/02 Javascript
js将键值对字符串转为json字符串的方法
2018/03/30 Javascript
9102年webpack4搭建vue项目的方法步骤
2019/02/20 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
使用JavaScript实现网页秒表功能(含开始、暂停、继续、重置功能)
2020/06/05 Javascript
Python日期的加减等操作的示例
2017/08/15 Python
用Python实现KNN分类算法
2017/12/22 Python
python3+opencv3识别图片中的物体并截取的方法
2018/12/05 Python
Python中注释(多行注释和单行注释)的用法实例
2019/08/28 Python
详解python内置模块urllib
2020/09/09 Python
python 深度学习中的4种激活函数
2020/09/18 Python
复古服装:RetroStage
2019/05/10 全球购物
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
Java 中访问数据库的步骤?Statement 和PreparedStatement 之间的区别?
2012/06/05 面试题
高中生学习生活的自我评价
2013/11/27 职场文书
九年级历史教学反思
2014/01/27 职场文书
病媒生物防治方案
2014/05/13 职场文书
小学见习报告
2014/10/31 职场文书
七年级作文之我的梦想
2019/10/16 职场文书
python自动统计zabbix系统监控覆盖率的示例代码
2021/04/03 Python
Python代码,能玩30多款童年游戏!这些有几个是你玩过的
2021/04/27 Python