Pythonでジョイスティックを使う
Pythonでジョイスティックを使う方法を紹介します。
1. pygame
Pythonでジョイスティックを使うには、pygameを使います。
pygameはPythonで2Dゲームを作成するためのライブラリになります。
Pythonの仮想環境(Python 3.6で試しました)で、以下のコマンドでインストールします。
$ pip install pygame
以下のコマンドでサンプル動くかでインストールを確認できます。
$ python -m pygame.examples.aliens
2. ジョイスティックの準備
USBのPC対応ゲームパッドであれば、大丈夫そうです。自分は以下を用意しました。
3. Pythonでジョイスティックを使う
Pythonでジョイスティックの状態を取得するコードは次の通りです。
import pygame
from pygame.locals import *
# ジョイスティックの初期化
pygame.joystick.init()
try:
# ジョイスティックインスタンスの生成
joystick = pygame.joystick.Joystick(0)
joystick.init()
print('ジョイスティックの名前:', joystick.get_name())
print('ボタン数 :', joystick.get_numbuttons())
except pygame.error:
print('ジョイスティックが接続されていません')
# pygameの初期化
pygame.init()
# 画面の生成
screen = pygame.display.set_mode((320, 320))
# ループ
active = True
while active:
# イベントの取得
for e in pygame.event.get():
# 終了ボタン
if e.type == QUIT:
active = False
# ジョイスティックのボタンの入力
if e.type == pygame.locals.JOYAXISMOTION:
print('十時キー:', joystick.get_axis(0), joystick.get_axis(1))
elif e.type == pygame.locals.JOYBUTTONDOWN:
print('ボタン'+str(e.button)+'を押した')
elif e.type == pygame.locals.JOYBUTTONUP:
print('ボタン'+str(e.button)+'を離した')
ウィンドウにフォーカスし、ジョイスティックを操作することで、ターミナルにログが出力されます。
ジョイスティックの名前: Pro Controller
ボタン数 : 14
十時キー: 0.00390625 0.00390625
十時キー: 0.00390625 0.00390625
十時キー: 0.00390625 0.00390625
十時キー: 0.00390625 0.00390625
十時キー: 0.00390625 -1.0
十時キー: 0.00390625 0.00390625
十時キー: 0.00390625 -1.0
十時キー: 0.00390625 0.00390625
ボタン2を押した
ボタン2を離した
ボタン1を押した
ボタン1を離した
ジョイスティックAPIについて詳しくは、以下が参考になります。
この記事が気に入ったらサポートをしてみませんか?