📖
Slither.ioをコントローラーでプレイする方法
実行環境
- OS:Windows11
- ブラウザ:Microoft Edge
- コントローラー:PDP Faceoff(有線)
準備
まず、AutoHotKeyとJoyToKeyをインストールしてください。
やりかた
- 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)
}
-
ブラウザのウィンドウに「Slither」という名前をつけます。名前の付け方はこのサイトを参照してください。
https://www.724685.com/word/wd210414.htm -
JoyToKeyで、Button3を押したら左クリックになるようにします。Button3は、任天堂スイッチのコントローラーのAボタンにあたります。
Button3のところをダブルクリックして、
マウスタブの左クリックにチェックをいれて、OKボタンを押してください。
最後に
AutoHotKeyのスクリプトとJoyToKeyを実行していればできると思います。
たまに不具合が起きたりするのでそのときは、AutoHotKeyのスクリプトを実行しなおしてください。
あと、Slither.ioをプレイするときはF11キーを押して全画面でプレイしてください。
Discussion