파이썬 3 만 지원합니다. 타입 선정 및 기타 멋진 파이썬 3 가지가 있기 때문에.
* 3.4+ 실제로, 어쨌든, 3.10은 말 그대로 이전 버전을 사용할 이유가 없습니다.
나는 프로젝트에서 일부 UI와 .. 물건을 사용해야했기 때문에, 나는 멀티 스레딩 지원으로 그것을 설계했습니다 (실제로, 이것은 유일한 옵션 LOL입니다) 걱정할 필요가 없습니다. 필요한 게임 패드, Fire listen Method를 가져 오기 만하면됩니다.
예는 다음과 같습니다.
# main.py
from time import sleep
from pygamepad . gamepads import Gamepad
def main ():
gamepad = Gamepad ()
gamepad . listen () # And that's it
# Now you can read gamepad values in the main thread
try :
while True :
print ( "START button value:" , gamepad . buttons . BTN_START . value )
sleep ( 0.01 )
except ( KeyboardInterrupt , SystemExit ):
# Kill gamepad's listening thread
gamepad . stop_listening ()
# And exit from the program
exit ()
if __name__ == "__main__" :
main ()더 많은 예제는 예제 폴더에서 찾을 수 있습니다
좋아, 전체 모듈 스크립트를 열지 않고 어떤 게임 패드 버튼을 사용할 수 있는지 어떻게 알 수 있습니까?
모듈은 문자 그대로 유형을 사용하기 때문에 gamepad.buttons 작성할 수 있습니다 .Buttons 및 AutoComplete에는 기존 버튼이 모두 표시됩니다. 또는 게임 패드 클래스를 열고 Buttons 서브 클래스의 모든 버튼을 볼 수 있습니다.
어떤 게임 패드를 지원합니까? 수비수 X7 및 Xbox 360. 글쎄, 나는 Defender X7 GamePad 만 소유하므로 X 입력 모드에서 테스트 했으므로 자이로 스코프와 터치 기능이 없지만 변경 사항을 기여할 수 있습니다 :)
사람들은 어떤 종류의 게임 패드 (특히 중국어)처럼 사용할 수 있으므로 상자에서 작동하지 않거나 일부 버튼이 교환 될 수 있습니다.이 경우 기본 게임 패드 클래스 ( pygamepad.gamepads.default.Gamepad )에서 상속받을 수 있으며 케이스의 일부를 다시 알 수 있습니다. START 및 SELECT 버튼이 어떤 이유로 스왑 되었기 때문에 수비수 X7 게임 패드에 대해 그렇게해야했습니다 (후드 아래에서 inputs 모듈을 사용하고 어떤 이유로 0x13a 및 0x13b 버튼이 스왑 또는 IDK입니다). 따라서 Special ButtonOverrides 서브 클래스를 사용하여 시작하여 선택을 변경했습니다.
# pygamepad/gamepads/defenderx7.py
from .. buttons import PressButton
from . default import Gamepad as DefaultGamepad
class Gamepad ( DefaultGamepad ):
class ButtonOverrides :
BTN_START = PressButton ( "BTN_SELECT" )
BTN_SELECT = PressButton ( "BTN_START" )