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不带重复的全排列代码
Aug 13 Python
Python selenium 三种等待方式解读
Sep 15 Python
利用Python破解斗地主残局详解
Jun 30 Python
Python基于sklearn库的分类算法简单应用示例
Jul 09 Python
Flask之flask-session的具体使用
Jul 26 Python
Python的bit_length函数来二进制的位数方法
Aug 27 Python
python 实现多线程下载视频的代码
Nov 15 Python
Python Selenium安装及环境配置的实现
Mar 17 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 Python
Python3.8安装Pygame教程步骤详解
Aug 14 Python
Python经典五人分鱼实例讲解
Jan 04 Python
python里glob模块知识点总结
Jan 05 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数据库抽象层 PDO
2011/05/07 PHP
PHP实现设计模式中的抽象工厂模式详解
2014/10/11 PHP
php数字每三位加逗号的功能函数
2015/10/22 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
php redis实现对200w用户的即时推送
2017/03/04 PHP
Laravel框架使用monolog_mysql实现将系统日志信息保存到mysql数据库的方法
2018/08/16 PHP
PHP7新功能总结
2019/04/14 PHP
PNG背景在不同浏览器下的应用
2009/06/22 Javascript
javascript sudoku 数独智力游戏生成代码
2010/03/27 Javascript
JS 实现导航栏悬停效果(续)
2013/09/24 Javascript
javascript实现密码验证
2015/11/10 Javascript
在javascript中,null>=0 为真,null==0却为假,null的值详解
2017/02/22 Javascript
jQuery自定义多选下拉框效果
2017/06/19 jQuery
webpack打包node.js后端项目的方法
2018/03/10 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
2021/01/27 Vue.js
简介Python中用于处理字符串的center()方法
2015/05/18 Python
python re模块findall()函数实例解析
2018/01/19 Python
python实现图片彩色转化为素描
2019/01/15 Python
Python常用的json标准库
2019/02/19 Python
Pandas之排序函数sort_values()的实现
2019/07/09 Python
python 默认参数相关知识详解
2019/09/18 Python
python获得命令行输入的参数的两种方式
2020/11/02 Python
html5中canvas图表实现柱状图的示例
2017/11/13 HTML / CSS
澳大利亚鞋仓库:Shoe Warehouse
2019/07/25 全球购物
Pandora西班牙官方商店:PandoraShop.es
2020/10/05 全球购物
社区包粽子活动方案
2014/01/21 职场文书
《小小雨点》教学反思
2014/02/18 职场文书
标准化管理实施方案
2014/02/25 职场文书
学校对教师的评语
2014/04/28 职场文书
机械设计及其自动化专业求职信
2014/06/09 职场文书
家长对孩子的寄语
2015/02/26 职场文书
三下乡个人总结
2015/03/04 职场文书
公司捐书倡议书
2015/04/27 职场文书
2019年最新感恩节祝福语(28句)
2019/11/27 职场文书
Python 多线程之threading 模块的使用
2021/04/14 Python
CSS控制继承中的height能变为可继承吗
2022/06/10 HTML / CSS