タッチデバイスの2Dプラットフォーマーに使用するのに適した入力方法は何ですか?


16

スーパーミートボーイのような2Dプラットフォーマーゲームを作成しています。このゲームでは、リードキャラクターの動きの精度が重要です。libgdxを使用しています。PCのキーボードコントロールは正確に機能しますが、加速度計の処理に関しては、キャラクターを正確に処理するのは非常に困難です。これは、避難するための混雑した安全な経路がある段階で悪化します。入力を処理するために画面上のアナログボールを実装することを考えましたが、インターネット上でその結果の多くの悪い結果を読みました。

タッチデバイスのプラットフォーマーゲームに使用する直感的で正確な入力方法は何ですか?

回答:


7

一言で言えば:スワイプ。

Pac-ManチャンピオンシップエディションをAndroidスマートフォンでプレイしましたが、実際に機能すると思ったのは、画面上のジョイスティックがあったのに、実際にPac-Manを正しい方向に動かすために触る必要はなかったということです。指がジョイスティックから落ちた場合は問題ではありません。重要なのは、指をどの方向に動かしたかです。

上に移動するには、上にスワイプします。下に移動するには、下にスワイプします。左に移動するには、左にスワイプします。右に移動するには、右にスワイプします。

スワイプコンテキストを、ゲーム内で現在発生している画面領域やアクションに応じて簡単に設定できます。お使いの携帯電話が横長モードであり、ビデオゲームコントローラーのように持っていると想像してください。画面の左半分は、上記で説明したスワイプを使用して移動するために予約できます。画面の右半分は、ジャンプ、射撃、シールドなど、非常によく似た方法でスワイプを使用してプレーヤーに提供したいゲームプレイ機能などのアクションに使用できます。または、スーパースーパーミートボーイのジャンプなど、1つの能力しかない場合は、画面の右半分をボタンとして扱います。

更新

私たちはチャットでこれを議論していましたが、私の解決策は、上で説明した方法は、指を持ち上げて下に置くと動く仮想スティックによく似ています。これは事実ではなく、実際にはそれよりもはるかに柔軟性があることを詳しく説明したいと思います。

パックマンスワイプ

上の画像は、ボード上のパックマンを動かすために取ることができるスワイプパターンを示しています。実行されるアクションは、最初に指を置いた場所に基づいているわけではないことに注意してください。右にスワイプするときに指を誤って大きく動かした場合、または下にスワイプしたときに指が十分に動かない場合は、問題ありません。この実装では、ソフトウェアに適切に登録するために十分なスワイプを行う限り、それを取得し、指が次の開始点として使用した場所を使用します。または、指を離すと、次の場所を使用します指を下ろします。

前に言ったように、コントロールを別々の領域に分割して、スワイプとタップがアクションを実行した画面の場所に応じて異なる動作をするようにするだけで、これをプラットフォーマーに適用できます。明らかなルートは、スワイプだけで左側のハンドルを動かすことです。次に、右側を使用して、スワイプとタップの任意の組み合わせを使用して、プレーヤーのアクションと能力を処理します。


4

画面の半分を、キャラクターの位置/速度がボールの位置/速度に直接関連付けられている仮想トラックボールのように扱った場合はどうなりますか?スワイプしてリリースすると、キャラクターが一定の動きになります(そしてトラックボールが回転します)。画面上で指を保持することは、トラックボールを保持するようなもので、キャラクターの位置を微調整したり、キャラクターの動きを止めたりすることができます。これは、スーパーミートボーイで走り、ジャンプし、急降下しようとする必死の瞬間に非常にうまくいくと思います。これは、これまでに見たことがないので実験的なアプローチになりますが、仮想スティックよりも優れています。

編集:Steamコントローラーはトラックパッドをシミュレートされたトラックボールのように扱いますが、それを扱うゲームを見つけるのに十分な実験は行っていません。


この答えは、箱の外で考えるようなものなので、私は実際に本当に好きです。誰かがそれを実装する場合、私はそれが実際にどのくらいうまく機能するかについて非常に興味があります。
スパルタンドーナツ

2

画面の横のタッチアンドホールドコントロールが最も応答性が高いことがわかりました。

人が左側に触れた場合は、左に走ります(手放すまで)。人が右側に触れたら、右に走ります。

RunRunRiot!この例です。

ジャンプに関しては、(どちらかの手を使用して)画面中央をタップすることができます。

例(風景のiPad)右に実行

______________
|            |
|            |
|            |
|___________R|

右にジャンプ

______________
|            |
|L*          |
|            |
|___________R|

(L * =左タップ)

左にジャンプ

______________
|            |
|          R*|
|            |
|L___________|

1

私が見つけたタッチスクリーンゲームのための最良の入力は、ジャンプするためにあなたがしなければならないすべてがスクリーンに触れるとき、それらの本当にシンプルなプラットフォームゲーム上です!私への動きの入力に加速度計を使用するゲームは非常に見当違いです!

これは、人気のあるD-pad添付ファイルがある場合にのみ、タッチスクリーンで開発する際の一般的なジレンマです。画面上のボールのアイデアを試してみる必要があると思います。

画面の左端と右端に左と右の入力を設定し、左または右の入力の上部または下部を使用して上下に入力することができます。それは理にかなっていると思う?


1

プレイヤーキャラクターが空中にいる場合にのみ、より正確なコントロールを持つことを検討できます。

たとえば、画面の右側が横方向を制御している場合、左側全体をジャンプに使用できます。空中に浮かぶと、画面の左下半分が「下降」し、上半分がダブルジャンプになる可能性があります。

もう1つの選択肢は、Jetpack Joyrideや「洞窟」タイプのゲームのようなジャンプスキームを採用することです。かなり正確になる可能性があり、レベルが適切に設計されていれば、スーパーミートボーイタイプのプラットフォーマーでうまく機能すると思います。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.