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 面向对象 成员的访问约束
Dec 23 Python
Python使用正则匹配实现抓图代码分享
Apr 02 Python
浅谈Python实现贪心算法与活动安排问题
Dec 19 Python
Python OpenCV获取视频的方法
Feb 28 Python
python实现旋转和水平翻转的方法
Oct 25 Python
对python同一个文件夹里面不同.py文件的交叉引用方法详解
Dec 15 Python
python命令行工具Click快速掌握
Jul 04 Python
详解Python中的各种转义符\n\r\t
Jul 10 Python
Python抓包程序mitmproxy安装和使用过程图解
Mar 02 Python
python tkinter之顶层菜单、弹出菜单实例
Mar 04 Python
python中实现栈的三种方法
Dec 19 Python
如何利用pygame实现打飞机小游戏
May 30 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
配置Apache2.2+PHP5+CakePHP1.2+MySQL5运行环境
2009/04/25 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
PHP小技巧之函数重载
2014/06/02 PHP
举例讲解PHP面对对象编程的多态
2015/08/12 PHP
通过PHP自带的服务器来查看正则匹配结果的方法
2015/12/24 PHP
PHP判断用户是否已经登录(跳转到不同页面或者执行不同动作)
2016/09/22 PHP
tp5框架前台无限极导航菜单类实现方法分析
2020/03/29 PHP
非常好的js代码
2006/06/27 Javascript
JavaScript入门教程(6) Window窗口对象
2009/01/31 Javascript
jQuery EasyUI API 中文文档 - Menu菜单
2011/10/03 Javascript
关于scrollLeft,scrollTop的浏览器兼容性测试
2013/03/19 Javascript
js实现div的切换特效上一个下一个
2014/02/11 Javascript
Javascript实现的SHA-256加密算法完整实例
2016/02/02 Javascript
Node.js+Express配置入门教程
2016/05/19 Javascript
Javascript实现图片懒加载插件的方法
2016/10/20 Javascript
JavaScript实现类似淘宝的购物车效果
2017/03/16 Javascript
Vue全家桶实践项目总结(推荐)
2017/11/04 Javascript
vuex state及mapState的基础用法详解
2018/04/19 Javascript
JavaScript随机数的组合问题案例分析
2020/05/16 Javascript
使用Vue-cli 中为单独页面设置背景图片铺满全屏
2020/07/17 Javascript
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
网易有道2017内推编程题 洗牌(python)
2019/06/19 Python
Python qqbot 实现qq机器人的示例代码
2019/07/11 Python
python列表插入append(), extend(), insert()用法详解
2019/09/14 Python
Django框架反向解析操作详解
2019/11/28 Python
Python unittest生成测试报告过程解析
2020/09/08 Python
Python生成pdf目录书签的实例方法
2020/10/29 Python
英国家喻户晓的家居商店:The Range
2019/03/25 全球购物
线程问题:wait()方法是定义在哪个类里面
2015/07/07 面试题
安全生产检讨书
2014/01/21 职场文书
护士毕业生自荐信
2014/02/07 职场文书
品质标语大全
2014/06/21 职场文书
党的群众路线教育实践活动个人对照检查剖析材料
2014/09/23 职场文书
2014幼儿园中班工作总结
2014/11/10 职场文书
公司财务经理岗位职责
2015/04/08 职场文书
纯html+css实现打字效果
2021/08/02 HTML / CSS