ゲームパッド対応で公開する
スマホやタブレットには物理キーボードがありません。Pyxel には画面上に十字キーと A/B ボタンを表示する仮想ゲームパッドの機能があり、Code & Magic でも利用できます。
ただし、すべての作品が自動でモバイル操作に対応するわけではありません。作者が公開時に「仮想ゲームパッド対応」を宣言した作品のみ、モバイルで仮想ゲームパッドが表示されます。
なぜ宣言制なの?
仮想ゲームパッドはどの作品でも自動表示されるわけではなく、作者が宣言した作品にだけ表示されます。これは「画面のボタンを押しても作品が反応しない」という混乱をプレイヤーに与えないためです。
仮想ゲームパッドが押されると、Pyxel にはゲームパッド用のボタン入力(GAMEPAD1_BUTTON_*)が伝わります。キーボードの矢印キー入力(KEY_*)とは別物なので、コードがキーボードしか読んでいない作品では、画面のパッドを押しても何も起こりません。
そこで、ゲームパッド入力をハンドルしている作品の作者が「対応している」と宣言したときだけ、画面に仮想ゲームパッドを表示するようにしています。たとえば次のようにゲームパッド入力をハンドルしている作品なら、宣言する価値があります:
pyxel.btn(pyxel.GAMEPAD1_BUTTON_DPAD_LEFT)などの方向キーで主人公を動かすpyxel.btnp(pyxel.GAMEPAD1_BUTTON_A)やGAMEPAD1_BUTTON_Bで決定・ジャンプ・攻撃をする
PC のキーボードでも遊べるようにしたい場合は、両対応の書き方にしておくと親切です:
if pyxel.btn(pyxel.KEY_LEFT) or pyxel.btn(pyxel.GAMEPAD1_BUTTON_DPAD_LEFT):
...
宣言の仕方
クリスタル化(公開)の手順の中で、作品オプションのチェックボックスがあります:
☑ 仮想ゲームパッド対応 ── スマホ/タブレットで仮想ゲームパッドが表示されます。十字キー・A/B キーをハンドルしているコードのみチェックしてください
このチェックを入れて公開すると、その作品はスマホで開いたときに自動で仮想ゲームパッドが表示されるようになります。一度公開したクリスタルの設定はあとから変更できないので、公開する前にしっかり確認してから宣言しましょう。
公開前にやっておきたいこと
- ゆりかごの実行ダイアログにある 「ゲームパッドで操作」 スイッチを ON にすると、PC のマウスで仮想ゲームパッドを押せます。スマホを用意しなくても、ゲームパッド入力で意図どおり動くかを開発中に確認できます
- スマホでも実際にプレイして、指で持ったまま操作できるかを試す
- 十字キー・A/B 以外のキー(例: テンキー、Q や Tab など)に重要な動作を割り当てていないか確認
- 物理キーボードでも同じ動作になることを確認(PC でプレイする冒険者もいるので両対応が望ましい)
プレイヤー側からの見え方
仮想ゲームパッドを宣言した作品は、スマホ・タブレットの公開作品ページで自動的にパッドが画面下部に表示されます。プレイヤー側の体験はスマホで公開作品を遊ぶで詳しく紹介しています。
