pygame 实现键盘鼠标映射
前言
在我的上一篇博客:树莓派 与 Xbox360手柄 基于pygame 的一次邂逅
中,我实现了树莓派读取Xbox 手柄数据,现在我用pygame 实现键盘和鼠标映射
注意:pygame 中joystick 和key 的使用不太一样:
- 其一是joystick 需要初始化,而key 不需要;
- 第二比较坑,key 的使用需要在获得用户焦点的情况下才能正常进行。
获得用户焦点就是使用pygame 的display 模块,并且用户用鼠标点击了该模块,即获得了用户焦点。
开始
通过 树莓派 与 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 实现键盘鼠标映射相关推荐
- 推荐一款远程控制软件Toesk。支持文件传输、高清画质、隐私屏、键盘鼠标映射等功能。
ToDesk 是一款免费安全不限速的多平台远程控制软件,支持主流操作系统Windows.Linux.Mac.Android.iOS跨平台协同操作.ToDesk支持在内网.外网和移动网络环境下,随时随地 ...
- Android 如何OTG 鼠标,otg键盘和鼠标映射软件v5.2.0 Android版
otg键盘和鼠标映射软件是一款游戏映射软件,可以使用键盘和鼠标通过otg功能控制手机.它为游戏爱好者提供了一个喜爱游戏的平台,使游戏更易于控制和感兴趣的玩家.何不来IT毛朴下载并尝试! Android ...
- synergy在Windows和Linux下使用全攻略(多台PC共享一套键盘鼠标)
synergy在Windows和Linux下使用全攻略(多台PC共享一套键盘鼠标) 标签: windowslinuxkeyboard服务器测试 2011-11-26 14:51 6882人阅读 评论( ...
- 愚人节导入_在愚人节的恶作剧破坏之后,如何重置键盘的映射?
愚人节导入 A few small harmless pranks between friends is one thing, but what do you do when you are the ...
- 鼠标光标一直在闪烁_便携有个性,功能强大,可配戴在手指上的键盘鼠标
中车永济电机有限公司.河南大学物理与电子学院的研究人员陶崇勃.侯卫周,在2019年<电气技术>增刊1中撰文(论文标题为"一款指尖压敏可配戴式键盘鼠标")指出,在信息科技 ...
- DX11(九):处理键盘鼠标输入
06/11/2020 键盘鼠标输入 WIN32 API 输入与输出 DirectXTK keyDown和keyUp函数,不是类的成员函数 键盘鼠标的单例模式 封装好的isKeyDown 和 isKey ...
- pygame 图像--键盘上下左右
将图像初始在窗口中心位置, 不然就会初始在左上角 # 初始窗口中心 ship_rect.center = screen_rect.center 监控键盘 上下左右 import sys import ...
- pynput 键盘鼠标事件抑制(拦截输出)
pynput 键盘鼠标事件抑制 前言 最近想用pynput做一个键盘映射,但是遇到的了一些问题,键盘映射有时需要抑制原输出.本人在CSDN找了很久,但是发现没有相关的文章.在查找了官方文档,并做了一些 ...
- [转载]C#模拟键盘鼠标事件-SendKeys
C#模拟键盘鼠标事件-SendKeys 2007-09-18 15:138596人阅读评论(1)收藏举报 1.模拟键盘事件 System.Windows.Forms.SendKeys以下是 Sen ...
最新文章
- swift5的SnipKit框架使用
- 【Go语言】集合与文件操作
- linux7空闲内存,centos7 内存占用率高处理问题
- qt linux 国际化,多语言,配置CLion管理Qt项目国际化支持
- BZOJ 1024: [SCOI2009]生日快乐
- win10 windows按钮右键没有命令提示符
- 倒计时1天,盛会将至,长沙 · 1024程序员节全日程曝光(附参会指南)
- 工作流(Workflow)基本介绍
- TCP粘包和拆包问题
- uni-app动画渲染
- Yarn Web页面 8088 端口在Windows浏览器无法访问
- 免费的天气API接口
- 探索 Android Q:位置权限
- cs231n-LSTM_Captions
- 网络里面可以看到计算机打不开,为什么电脑有网络但是打不开网页?
- PHP 导出Excel 报错:realpath(): open_basedir restriction in effect. File(/tmp) is not within the allowed
- win10简繁体输入转换输入法设置转换
- 关于STM32H745xI双核芯片的SMPS和LDO配置,导致芯片无法复位,无法下载程序
- 基于物联网技术的智能家居设计
- 【运维工程师必备技能之一】——英语基础