2018年9月3日月曜日

PyAutoGuiでゲームを少し快適に

ブログを書くのは初めてなので、軽めな記事でテスト投稿です。



最近、Five Night at Freddy'sというゲームを知りまして、絶賛攻略中です。
可愛い動物の人形たちとだるまさんが転んだをするゲームですがこれがまた面白い。1回のゲームの手軽さもあってすっかりはまってしまいました。

しかし、自分の環境だと問題が1つあります。
それは、デュアルディスプレイをしているとマウスがゲーム画面からはみ出してしまう事です。ゲームを起動するたびにディスプレイを1画面に変えないといけません。これはめんどくさい。

じゃあPythonで解決してみましょう。

<アイデア>
画面からはみ出したら困るならば、画面からはみ出した時、マウスを自動で操作して、戻ってくるようにすればいいのでは?

今回使うのはPyAutoGuiってモジュールです。
PyAutoGuiはマウスを動かしたり、キーボードを動かしたりできるモジュールです。
とりあえず、コードを書いてみましょう。

import pyautogui
while True:
    x,y = pyautogui.position() //マウスの座標を取得
    if x > 1920:
        pyautogui.moveTo(1920,y) //マウスを座標の位置へ移動

こんな感じですかね。

pyautogui.position()・・・マウスの(横座標,縦座標)のタプル型を返す関数です。
pyautogui.moveTo(横座標,縦座標,時間or動き方)・・・指定位置にマウスを動かす関数です。第三引数で動かすためにかかる時間や動かし方を指定できます。

私のディスプレイが横1920縦1080なので、マウスの位置の横の座標が1920を超えたら縦の座標はそのままに、横の座標を1920にすればいいわけですね。

実際にゲームをやってみたところ...まあまあ悪くないんじゃないでしょうか。
一瞬はみ出しますが、許容範囲といったところでしょう。

これにて解決です!...とまあ、ここまで書いといて、あれですが、ディスプレイの設定はWindowsキー+Pボタンでできるのでそんなにめんどくさくはないんですよね。
この方法なら、使っていない画面に何か表示できるってメリットがあるからOKということでなにとぞなにとぞ。

0 件のコメント:

コメントを投稿