首页 > 其他分享 >Pygame游戏手柄(Xbox)输入测试工具

Pygame游戏手柄(Xbox)输入测试工具

时间:2024-10-26 20:16:45浏览次数:3  
标签:手柄 get Xbox pygame 测试工具 joystick axis Pygame

文章目录


前言

在python做机器人控制时,需要加入xbox操控功能,为了直观显示手柄摇杆与变量之间的对应关系,实时调试手柄输入,开发了python手柄测试程序(本文基于xbox)。

Xbox 手柄测试程序说明

测试程序使用 pygame 库创建了一个简单的用户界面,用于实时显示 Xbox 手柄各个轴的值。程序的主要功能包括:

  1. 手柄检测:在启动时,程序会检查是否连接了 Xbox 手柄。如果未检测到手柄,程序将提示用户并退出。

  2. 实时显示:程序创建了一个窗口,窗口大小为 600x400 像素。在窗口中,程序会不断更新并显示手柄每个轴的当前值,确保可以清晰地看到摇杆的变化。

  3. 轴值更新:每个轴的值会实时更新,并显示在屏幕上,值的格式为小数点后两位。

  4. 退出功能:可以通过点击窗口的关闭按钮(X)来退出程序。

使用说明

  1. 运行程序后,确保 Xbox 手柄已连接。
  2. 在程序窗口中,移动手柄的摇杆,观察各轴值的变化。
  3. 若需退出程序,点击窗口右上角的关闭按钮。

完整代码

import pygame
import sys

# 初始化 pygame
pygame.init()

# 设置手柄
if pygame.joystick.get_count() > 0:
    joystick = pygame.joystick.Joystick(0)
    joystick.init()
    print(f"检测到手柄: {joystick.get_name()}")
else:
    print("未检测到手柄")
    pygame.quit()
    sys.exit()

# 设置窗口
screen = pygame.display.set_mode((600, 400))
pygame.display.set_caption("Xbox 手柄测试")

# 字体设置
font = pygame.font.Font(None, 36)

# 主循环
running = True
while running:
    screen.fill((30, 30, 30))  # 设置背景颜色

    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False

    # 获取轴的数量
    num_axes = joystick.get_numaxes()
    
    # 打印手柄所有轴的值,并显示在屏幕上
    for i in range(num_axes):
        axis_value = joystick.get_axis(i)
        axis_text = font.render(f"轴 {i}: {axis_value:.2f}", True, (255, 255, 255))
        screen.blit(axis_text, (50, 50 + i * 40))  # 显示在屏幕上的位置

    # 刷新屏幕
    pygame.display.flip()

    # 设置延迟,防止刷新过快
    pygame.time.wait(100)

pygame.quit()

标签:手柄,get,Xbox,pygame,测试工具,joystick,axis,Pygame
From: https://blog.csdn.net/yyy99997/article/details/143258975

相关文章

  • 2024版最新渗透测试工具整理大全(非常详细)渗透测试零基础入门到精通,收藏这篇就够了
    学习网络安全为什么需要掌握渗透测试工具使用相关知识?1.增强安全防御能力:通过对渗透测试工具的使用,安全专家可以更深入地理解攻击者可能采用的手法和策略,从而提前部署相应的防御措施,加固网络和系统的安全。2.发现并修复漏洞:渗透测试可以识别存在的安全漏洞,包括软件漏洞......
  • 哪款网站压力测试工具值得推荐
    在进行网站压力测试的过程中,以下工具值得推荐:一、ApacheJMeter;二、LoadRunner;三、Locust;四、Gatling;五、WebLoad;六、Neoload;七、Blazemeter。ApacheJMeter是一款开源的性能测试工具,不仅适用于对HTTP和HTTPS的压力测试,也可以对数据库、FTP服务器、邮件服务器等进行压力测试。JMe......
  • CSS Grid与Flexbox有何不同
    CSSGrid与Flexbox的不同点:1.定位方式不同;2.维度不同;3.主轴与交叉轴不同;4.对齐方式不同;5.元素排序不同;6.应用场景不同;7.自适应性不同等。Flexbox(弹性盒子模型)主要用于一维布局,即在行或列的方向上布局,Grid(网格布局)适用于二维布局,可以同时定义行和列的结构。1.定位方式不......
  • 【2024最新】黑客入侵测试工具大全(超详细),收藏这一篇就够了!
    所有工具仅能在取得足够合法授权的企业安全建设中使用,在使用所有工具过程中,您应确保自己所有行为符合当地的法律法规。如您在使用所有工具的过程中存在任何非法行为,您将自行承担所有后果,所有工具所有开发者和所有贡献者不承担任何法律及连带责任。除非您已充分阅读、完全理解......
  • 现在流行哪款MOCK测试工具
    MOCK测试是软件开发过程中的一个重要环节,它允许开发者模拟那些尚未实现或者难以集成的组件、服务或系统。目前,最流行的MOCK测试工具包括WireMock、Mockito、Sinon.js。这些工具中,WireMock特别受到关注,因为它能够模拟具有复杂逻辑的Web服务。一、WIREMOCK的功能和优势WireMock......
  • 自动化测试工具Ranorex Studio(十三)-录制过程中
    点击“录制”按钮来触发创建一个新的录制模块。 图:点击“Record”开始录制点击录制按钮后,Ranorex会在正式录制之前协助你运行一个应用程序,打开浏览器浏览导航到特定的URL或打开移动设备上的应用程序。因此,像双击桌面快捷方式图标这样的操作就没有必要录制了。通过选择’gl......
  • Python中的pygame骨骼设想
    序骨骼一般来说都是在3D建模中,动画之类里面的比较常见,pygame里面的话,我是没咋听说过用到骨骼这样的东西,所以我这里也只是一个设想。一、核心思想考虑有些同学可能不是很清楚骨骼,那我就以我个人的理解方法来说一下。1.理解这个骨骼,如其名,就看你自身好了,通俗点就是理解为:你......
  • 最佳的10款App安全测试工具
    网络安全重磅福利:入门&进阶全套282G学习资源包免费分享!移动互联网时代,我们的生活和工作深受App影响。伴随移动App的广泛应用,App安全日益重要。本文介绍了App开发可能用到的安全测试工具。当今,全球移动用户大约超过37亿。GooglePlay上大约有220万个App,苹果......
  • pygame写一个黑客帝国屏保
    代码:#coding=utf-8importos,sys,re,timeimportpygameimportrandomfromwin32apiimportGetSystemMetricsfromtkinterimportmessagebox#pyinstaller-F-wpygame_heike.pypygame.init()pygame.display.set_caption("黑客帝国屏幕保护")percent=1scr......
  • Flexbox弹性盒子详解
    弹性盒子模型详解Flex弹性盒子模型详解Flex布局的基本概念Flex布局的常见属性及用法1.主轴方向2.主轴换行方式3.flex-flow(分开写更好)4.主轴对齐方式5.侧轴对齐方式5.1一行的情况5.2多行的情况6.伸缩性6.1flex-basis6.2flex-grow(伸)6.3flex-shrink(缩)7.flex复......