Soutient Python 3 uniquement, à cause des handicaps de type et d'autres choses cool Python 3.
* 3.4+ En fait, de toute façon, 3.10 est sorti, il n'y a littéralement aucune raison d'utiliser les anciennes versions -
Étant donné que j'avais besoin d'utiliser cette chose dans mon projet avec une interface utilisateur et .. des choses, je l'ai conçue avec un support multithreading (en fait, c'est la seule option lol), donc pas besoin de s'inquiéter pour cela, il suffit d'importer le jeu nécessaire, de la méthode listen de feu et que vous êtes prêt à partir.
Voici un exemple:
# 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 ()Plus d'exemples peuvent être trouvés dans le dossier Exemples
Ok, comment savoir sans ouvrir le script de module entier quels boutons de jeu de jeu je peux utiliser?
Étant donné que le module utilise le type de type qui est littéralement partout où vous pouvez simplement écrire gamepad.buttons et la saisie semi-automatique vous montrera tous les boutons existants. Alternativement, vous pouvez simplement ouvrir la classe GamePad et voir tout le bouton de sa sous-classe Buttons .
Quels GamePads soutiennent-t-il? Defender X7 et Xbox 360 à coup sûr. Eh bien, je ne possède que Defender X7 GamePad, donc je l'ai testé en mode X-INPUT, donc il n'y a pas de gyroscope et de capacités tactiles, mais vous pouvez contribuer vos modifications :)
Étant donné que les gens peuvent utiliser comme tout type de manèges de jeu (chinois en particulier), cela peut ne pas fonctionner hors de la boîte ou certains boutons peuvent être échangés, etc., dans ce cas, vous pouvez hériter de la classe de jeu par défaut ( pygamepad.gamepads.default.Gamepad ) et modifier certaines choses pour votre cas. J'ai dû le faire pour mon Defender X7 GamePad car les boutons de démarrage et de sélection ont été échangés pour une raison quelconque (il utilise le module inputs sous le capot et pour une raison quelconque, les boutons 0x13a et 0x13b sont échangés ou idk), donc j'ai changé pour sélectionner et sélectionner pour commencer à utiliser des sous-classe ButtonOverrides spéciales où vous pouvez.
# 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" )