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内置的字符串处理函数整理
Jan 29 Python
python使用正则搜索字符串或文件中的浮点数代码实例
Jul 11 Python
Python使用xlrd读取Excel格式文件的方法
Mar 10 Python
python判断一个集合是否包含了另外一个集合中所有项的方法
Jun 30 Python
Scrapy-redis爬虫分布式爬取的分析和实现
Feb 07 Python
Python之日期与时间处理模块(date和datetime)
Feb 16 Python
django模型层(model)进行建表、查询与删除的基础教程
Nov 21 Python
python+numpy+matplotalib实现梯度下降法
Aug 31 Python
10个Python面试常问的问题(小结)
Nov 20 Python
keras读取h5文件load_weights、load代码操作
Jun 12 Python
Python3 requests模块如何模仿浏览器及代理
Jun 15 Python
Python select及selectors模块概念用法详解
Jun 22 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读取30天之内的根据算法排序的代码
2008/04/06 PHP
php 多关键字 高亮显示实现代码
2012/04/23 PHP
mysql 查询指定日期时间内sql语句实现原理与代码
2012/12/16 PHP
PHP异常类及异常处理操作实例详解
2018/12/19 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
使用Git实现Laravel项目的自动化部署
2019/11/24 PHP
jquery显示隐藏input对象
2014/07/21 Javascript
BootStrap智能表单实战系列(十一)级联下拉的支持
2016/06/13 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
2016/06/21 Javascript
bootstrap基础知识学习笔记
2016/11/02 Javascript
微信小程序 页面之间传参实例详解
2017/01/13 Javascript
js is_valid_filename验证文件名的函数
2017/07/19 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
React 使用browserHistory项目访问404问题解决
2018/06/01 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
2018/09/14 Javascript
webpack 开发和生产并行设置的方法
2018/11/08 Javascript
微信小程序云开发获取文件夹下所有文件(推荐)
2019/11/14 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
原生js实现放大镜组件
2021/01/22 Javascript
[00:36]DOTA2上海特级锦标赛 Archon战队宣传片
2016/03/04 DOTA
Python中os和shutil模块实用方法集锦
2014/05/13 Python
Scrapy的简单使用教程
2017/10/24 Python
python实现SOM算法
2018/02/23 Python
浅谈django rest jwt vue 跨域问题
2018/10/26 Python
使用Python创建简单的HTTP服务器的方法步骤
2019/04/26 Python
python判断变量是否为int、字符串、列表、元组、字典的方法详解
2020/02/13 Python
Avène雅漾美国官方网站:敏感肌肤护理专家
2016/10/24 全球购物
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
美国山地自行车、露营、户外装备和服装购物网站:Aventuron
2018/05/05 全球购物
英国时尚和家居用品零售商:Matalan
2021/02/28 全球购物
单位办理社保介绍信
2014/01/10 职场文书
财务负责人任命书
2014/06/06 职场文书
天下第一关导游词
2015/02/06 职场文书
2015年大学社团工作总结
2015/04/09 职场文书
python 算法题——快乐数的多种解法
2021/05/27 Python