📖

Slither.ioをコントローラーでプレイする方法

2025/03/02に公開

実行環境

  • OS:Windows11
  • ブラウザ:Microoft Edge
  • コントローラー:PDP Faceoff(有線)

準備

まず、AutoHotKeyとJoyToKeyをインストールしてください。
https://www.autohotkey.com/
https://www.vector.co.jp/download/file/winnt/util/fh774604.html

やりかた

  1. AutoHotKeyで次のスクリプトを作成してください。
; スティックの感度しきい値(50以上で入力を判定)
threshold := 20
radius := A_ScreenHeight * 0.3 ; 移動する円の半径(画面の30%)
WinGetPos, X, Y, W, H, Slither
centerX := (W / 2)
centerY := (H / 2)
MsgBox, %centerX% %centerY%

Loop {
    GetKeyState, JoyX, JoyX  ; X軸の取得(0〜100の範囲)
    GetKeyState, JoyY, JoyY  ; Y軸の取得(0〜100の範囲)

    ; スティックの中心位置(50,50)を基準に偏差を計算
    deltaX := JoyX - 50
    deltaY := JoyY - 50

    rt := deltaX * deltaX + deltaY * deltaY
    ; スティックがしきい値を超えている場合のみ処理
    if (Sqrt(rt) > threshold){
        ; 角度(ラジアン)を計算
        angle := ATan2(deltaY, deltaX)

        newX := centerX + radius * Cos(angle * (3.1415926535 / 180))
        newY := centerY + radius * Sin(angle * (3.1415926535 / 180))

        ; マウスを新しい座標に瞬間移動
        MouseMove, newX, newY, 0
    }

    Sleep, 10  ; CPU負荷軽減のための待機
}

; ATan2関数(AutoHotkeyには直接ないので自作)
ATan2(y, x) {
    return DllCall("msvcrt\atan2", "Double", y, "Double", x, "Double") * (180 / 3.1415926535)
}
  1. ブラウザのウィンドウに「Slither」という名前をつけます。名前の付け方はこのサイトを参照してください。
    https://www.724685.com/word/wd210414.htm

  2. JoyToKeyで、Button3を押したら左クリックになるようにします。Button3は、任天堂スイッチのコントローラーのAボタンにあたります。
    Button3のところをダブルクリックして、

    マウスタブの左クリックにチェックをいれて、OKボタンを押してください。

最後に

AutoHotKeyのスクリプトとJoyToKeyを実行していればできると思います。
たまに不具合が起きたりするのでそのときは、AutoHotKeyのスクリプトを実行しなおしてください。
あと、Slither.ioをプレイするときはF11キーを押して全画面でプレイしてください。

Discussion