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 Deque 模块使用详解
Jul 04 Python
Python ValueError: invalid literal for int() with base 10 实用解决方法
Jun 21 Python
Python处理json字符串转化为字典的简单实现
Jul 07 Python
Python 多线程的实例详解
Sep 07 Python
Python实现字符串格式化输出的方法详解
Sep 20 Python
解决Python网页爬虫之中文乱码问题
May 11 Python
Python 共享变量加锁、释放详解
Aug 28 Python
Python requests模块session代码实例
Apr 14 Python
Python如何在main中调用函数内的函数方式
Jun 01 Python
Python 如何定义匿名或内联函数
Aug 01 Python
使用numpngw和matplotlib生成png动画的示例代码
Jan 24 Python
numba提升python运行速度的实例方法
Jan 25 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
图片存储与浏览一例(Linux+Apache+PHP+MySQL)
2006/10/09 PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
2011/10/17 PHP
Linux下创建nginx脚本-start、stop、reload…
2014/08/03 PHP
如何做到打开一个页面,过几分钟自动转到另一页面
2007/04/20 Javascript
jquery+ashx无刷新GridView数据显示插件(实现分页、排序、过滤功能)
2010/04/25 Javascript
jQuery选择器中含有空格的使用示例及注意事项
2013/08/25 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
教你在heroku云平台上部署Node.js应用
2014/07/30 Javascript
使用javascript实现雪花飘落的效果
2015/01/13 Javascript
js下拉选择框与输入框联动实现添加选中值到输入框的方法
2015/08/17 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
Vuejs2 + Webpack框架里,模拟下载的实例讲解
2018/09/05 Javascript
JavaScript实现表单注册、表单验证、运算符功能
2018/10/15 Javascript
node.js的http.createServer过程深入解析
2019/06/06 Javascript
使用python Django做网页
2013/11/04 Python
python实现从ftp服务器下载文件的方法
2015/04/30 Python
教你使用python画一朵花送女朋友
2018/03/29 Python
Python基于FTP模块实现ftp文件上传操作示例
2018/04/23 Python
django的登录注册系统的示例代码
2018/05/14 Python
Django框架实现的普通登录案例【使用POST方法】
2019/05/15 Python
200行python代码实现2048游戏
2019/07/17 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
css3发光搜索表单分享
2014/04/11 HTML / CSS
荷兰照明、灯具和配件网上商店:dmlights
2019/08/25 全球购物
Otiumberg官网:英国半精致珠宝品牌
2021/01/16 全球购物
新闻编辑自荐信
2013/11/03 职场文书
办公自动化专业大学生职业规划书
2014/03/06 职场文书
人事任命书格式
2014/06/05 职场文书
授权收款委托书
2014/09/23 职场文书
员工年终考核评语
2014/12/31 职场文书
圣诞晚会主持词
2015/07/01 职场文书
通讯稿格式及范文
2015/07/22 职场文书
2015年“我们的节日·中秋节”活动总结
2015/07/30 职场文书
《窃读记》教学反思
2016/02/18 职场文书
asyncio异步编程之Task对象详解
2022/03/13 Python