【Macアプリ】ScratchのゲームをニンテンドースイッチのJoy-Conで遊べるようにしてみた

ScratchのゲームをニンテンドースイッチのJoy-Conで遊べるようにしてみた

Scratchにはたくさんのゲームが公開されていますが、操作は主にキーボード。これをゲームのコントローラーで遊べたらいいのになぁ・・・という事で使えないか調べてみました

Joy-Conはあっさり接続できる

ニンテンドースイッチのコントローラーJoy-ConはBluetooth接続で、WindowsマシンやMacに簡単に接続できます

コントローラーのこのボタンを長押しすればペアリングモードになるので・・・

ScratchのゲームをニンテンドースイッチのJoy-Conで遊べるようにしてみた

Macの場合はBluetooth接続の環境設定に「Joy-Con(R)」もしくは「Joy-Con(L)」が表示されます。ここで「接続」ボタンを押せば接続完了です

ScratchのゲームをニンテンドースイッチのJoy-Conで遊べるようにしてみた

が、ジョイスティックとして認識されるので、対応しているゲームしか使えないみたいです。当然Scratchでは使えません

キーマッピングソフトが必要

なので、ジョイスティックからの入力を、キーボード入力に変換するアプリが必要になります

調べてみると、WindowsだとJoytoKeyというアプリが有名のようです。無料で使えるけれど、気に入ったら700円支払うというシェアウェアです

Macにもキーマッピングのアプリはありましたが、有料のようですね。有料だと子どもが簡単に利用しにくいかな・・・というわけで簡単なアプリを作ってみました

MacSwitch

作成したアプリは「MacSwitch」。簡単なキーマッピングアプリです。イラストは右Joy-Conですが左Joy-Conも使えます

ScratchのゲームをニンテンドースイッチのJoy-Conで遊べるようにしてみた

初期値では、スティックの上下左右をキーボードの上下左右キーに、それ以外のキーをスペースキーに割り振っています。これは後から自由に変更できます。だだし、複数キーやマウスの割り振りには対応していません

スティックの斜めキーにも個別にキーを割り振ることができるのですが、設定が複雑になってしまうので、右斜め上と右斜め下は右に、左斜め上と左斜め下は左に割り振っています。いろいろ試してみてこれが一番しっくりきました

あと、右Joy-Conと左Joy-Conのだいたい同じような位置にあるボタン(HOMEボタンとキャプチャーボタンなど)は同じキーとみなして実装しています

うまく動かないScratchプログラムもある

Scratchでのキー入力に対応したプログラムは2つの実装方法があります

ScratchのゲームをニンテンドースイッチのJoy-Conで遊べるようにしてみた

Aのキーイベントを使う方法と、Bのループ内でキーの状態をチェックする方法です。どちらもスペースキーを押している間ネコを10歩動かすプログラムです

Aはスペースキーが押された時に「10歩動かす」が1回だけ実行されます。これに対してBはスペースキーが押されていれば何度も「10歩動かす」が実行されます

この理屈だと、スペースキーが押された状態でAはネコが10歩だけ歩くはずですが、キーを押し続けている間ずっと歩き続けます。これはパソコンのキーボードにキーリピートの機能が付いているからです。同じキーを押し続ければ「ああああああ・・・・・」のように連続して文字が入力されるのがキーリピート機能です

一般的なゲームコントローラーにはキーリピート(連射)の機能はありません。高橋名人が16回ボタンを叩かないといけないのはキーリピート機能がないため。キーリピート機能がないのに、十字キーでマリオが歩き続けるのは、Bの方法で実装しているから。なので、ゲームプログラム的にはBのプログラムが正しいと言えます

今回作成したアプリはキーリピートの実装をしていないので、Aのプログラムはキーボードでの操作と同じようには動きません

Scratchのゲームいろいろ

これらのゲームを試してみましたが、うまく動作しました

【Scratch】Joy-Conで遊ぶとより楽しめるゲーム
Mac用のキーマッピングアプリ「MacSwitch」を利用すれば、キーボードで操作するScratchのゲームをJoy-Conで楽しむことができます MacSwitchのダウンロードはこちらから Joy-Conで遊ぶとより楽しめそうなゲームを...

Scratch 3.0に対応した書籍です[PR]

タイトルとURLをコピーしました