前言

在我的上一篇博客:树莓派 与 Xbox360手柄 基于pygame 的一次邂逅
中,我实现了树莓派读取Xbox 手柄数据,现在我用pygame 实现键盘和鼠标映射

注意:pygamejoystickkey 的使用不太一样:

  1. 其一是joystick 需要初始化,而key 不需要;
  2. 第二比较坑,key 的使用需要在获得用户焦点的情况下才能正常进行。
    获得用户焦点就是使用pygamedisplay 模块,并且用户用鼠标点击了该模块,即获得了用户焦点。

开始

通过 树莓派 与 Xbox360手柄 基于pygame 的一次邂逅 ,我们基本了解了pygame 的基本食用方法。

废话不多说,直接上代码:

#coding:utf-8
import pygamepygame.init()white = (255,255,255)# 定义奥利奥的直径
oreo_width = 50# 窗口大小
display_width = 800
display_height = 600
gameDisplay = pygame.display.set_mode((display_width,display_height))# 设置标题
pygame.display.set_caption('奥利奥')clock = pygame.time.Clock()# 加载图片
Img = pygame.image.load('C:/Users/waao_wuyou/Desktop/Android设计元素/杂类图标/Oreo_noblank.png')# 设置图片位置
def Oreo(x, y):gameDisplay.blit(Img, (x,y))def game_loop():x = display_width * 0.5y = display_height * 0.5x_change = 0y_change = 0gameExit = Falsewhile not gameExit:for event in pygame.event.get():if event.type == pygame.QUIT:gameExit = Trueif event.type == pygame.KEYDOWN:if event.key == pygame.K_LEFT:x_change = -3elif event.key == pygame.K_RIGHT:x_change = 3elif event.key == pygame.K_UP:y_change = -3elif event.key == pygame.K_DOWN:y_change = 3if event.type == pygame.KEYUP:if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:x_change = 0if event.key == pygame.K_UP or event.key == pygame.K_DOWN:y_change = 0print(event)x += x_changey += y_changegameDisplay.fill(white)Oreo(x,y)if x > display_width - oreo_width or x < 0:gameExit = Trueif y > display_height - oreo_width or y < 0:gameExit = Truepygame.display.update()clock.tick(60)game_loop()
pygame.quit()
quit()

这代码的功能是展示一个窗口,窗口中有一块奥利奥,通过按下键盘的上下左右可以控制奥利奥的移动

结果



可以看到当我按下了上下左右时,奥利奥发生了移动


附表:


pygame 实现键盘鼠标映射相关推荐

  1. 推荐一款远程控制软件Toesk。支持文件传输、高清画质、隐私屏、键盘鼠标映射等功能。

    ToDesk 是一款免费安全不限速的多平台远程控制软件,支持主流操作系统Windows.Linux.Mac.Android.iOS跨平台协同操作.ToDesk支持在内网.外网和移动网络环境下,随时随地 ...

  2. Android 如何OTG 鼠标,otg键盘和鼠标映射软件v5.2.0 Android版

    otg键盘和鼠标映射软件是一款游戏映射软件,可以使用键盘和鼠标通过otg功能控制手机.它为游戏爱好者提供了一个喜爱游戏的平台,使游戏更易于控制和感兴趣的玩家.何不来IT毛朴下载并尝试! Android ...

  3. synergy在Windows和Linux下使用全攻略(多台PC共享一套键盘鼠标)

    synergy在Windows和Linux下使用全攻略(多台PC共享一套键盘鼠标) 标签: windowslinuxkeyboard服务器测试 2011-11-26 14:51 6882人阅读 评论( ...

  4. 愚人节导入_在愚人节的恶作剧破坏之后,如何重置键盘的映射?

    愚人节导入 A few small harmless pranks between friends is one thing, but what do you do when you are the ...

  5. 鼠标光标一直在闪烁_便携有个性,功能强大,可配戴在手指上的键盘鼠标

    中车永济电机有限公司.河南大学物理与电子学院的研究人员陶崇勃.侯卫周,在2019年<电气技术>增刊1中撰文(论文标题为"一款指尖压敏可配戴式键盘鼠标")指出,在信息科技 ...

  6. DX11(九):处理键盘鼠标输入

    06/11/2020 键盘鼠标输入 WIN32 API 输入与输出 DirectXTK keyDown和keyUp函数,不是类的成员函数 键盘鼠标的单例模式 封装好的isKeyDown 和 isKey ...

  7. pygame 图像--键盘上下左右

    将图像初始在窗口中心位置, 不然就会初始在左上角 # 初始窗口中心 ship_rect.center = screen_rect.center 监控键盘 上下左右 import sys import ...

  8. pynput 键盘鼠标事件抑制(拦截输出)

    pynput 键盘鼠标事件抑制 前言 最近想用pynput做一个键盘映射,但是遇到的了一些问题,键盘映射有时需要抑制原输出.本人在CSDN找了很久,但是发现没有相关的文章.在查找了官方文档,并做了一些 ...

  9. [转载]C#模拟键盘鼠标事件-SendKeys

    C#模拟键盘鼠标事件-SendKeys 2007-09-18 15:138596人阅读评论(1)收藏举报 1.模拟键盘事件 System.Windows.Forms.SendKeys以下是   Sen ...

最新文章

  1. swift5的SnipKit框架使用
  2. 【Go语言】集合与文件操作
  3. linux7空闲内存,centos7 内存占用率高处理问题
  4. qt linux 国际化,多语言,配置CLion管理Qt项目国际化支持
  5. BZOJ 1024: [SCOI2009]生日快乐
  6. win10 windows按钮右键没有命令提示符
  7. 倒计时1天,盛会将至,长沙 · 1024程序员节全日程曝光(附参会指南)
  8. 工作流(Workflow)基本介绍
  9. TCP粘包和拆包问题
  10. uni-app动画渲染
  11. Yarn Web页面 8088 端口在Windows浏览器无法访问
  12. 免费的天气API接口
  13. 探索 Android Q:位置权限
  14. cs231n-LSTM_Captions
  15. 网络里面可以看到计算机打不开,为什么电脑有网络但是打不开网页?
  16. PHP 导出Excel 报错:realpath(): open_basedir restriction in effect. File(/tmp) is not within the allowed
  17. win10简繁体输入转换输入法设置转换
  18. 关于STM32H745xI双核芯片的SMPS和LDO配置,导致芯片无法复位,无法下载程序
  19. 基于物联网技术的智能家居设计
  20. 【运维工程师必备技能之一】——英语基础

热门文章

  1. 计算机系统配置低会带来,低配电脑装什么系统?电脑配置低重装什么系统好
  2. 淘宝/天猫按关键字搜索淘宝商品
  3. 智能手表泄露银行卡密码?专家:不必过分担心
  4. 阿蒙森 斯科特_斯科特的单元测试定律
  5. SpringBoot接入支付宝
  6. 中国移动光猫怎么进网页服务器,中国移动光猫设置方法(192.168.1.1进不了光猫)...
  7. 用java实现简单的搜索引擎
  8. 20 多个国外优秀Android开源 App ,值得收藏和学习
  9. 京东API网关实践之路
  10. UE、UI、 IA和IxD傻傻分不清