web-dev-qa-db-ja.com

Escapeキーの論理的な代替手段はありますか?

私はあなたのブラウザでプレイできるゲームを持っています。これはレトロゲーム(マルチプレイヤーヘビ)で、メニューとヘビはキーボードを使用してのみ制御できます。マウス入力は無視されます。

私は使用していた Esc 確認ポップアップのキャンセル、メニューのステップの戻り、ゲームの終了、入力フィールドへのフォーカスのキャンセルなど、あらゆる種類のアクションをキャンセルするキー。

問題は、私のゲームがhtml5フルスクリーンモードをサポートしており、ブラウザがフルスクリーンモードを終了すると、 Esc が押されます。ブラウザのセキュリティのため、これを上書きすることはできません。

最初は両方を使いたいと思いました Backspace そして Delete キャンセルアクションをトリガーし、最初の指示でこれらのキーを昇格します。問題は、入力フィールドがフォーカスされている場合、これらのキーにはすでに機能があるため、それをキャンセルするために別のものが必要です。

また、ユーザーが使用することを恐れています Esc とにかく彼らはそれが物事をキャンセルすることを期待しているので。だから私はフルスクリーンではないときにそれをサポートし、フルスクリーンに入ったときにアラートポップアップを追加する必要があります Esc これで全画面モードが終了するため、使用する必要があります some other key キャンセルのため。ただし、キーボードレイアウトを途中で変更することは理想的ではありません。

フルスクリーンモードを完全にスキップすることもできます。 Esc ゲームの優れたUXには不可欠であり、許容できる回避策はありません。

これをどのように解決しますか?

18
Blaise

通常とは異なる方法でユーザーにトレーニングを行うことは、非常に困難です。これは、アクションがあまり考え抜かれておらず、反射のようであることが多いコンピューターゲームで特に当てはまる可能性があります。

したがって、Esc関数を別のキーに配置したとしても、問題が発生します。ユーザーは依然として確認ポップアップが閉じることを期待し、代わりにフルスクリーンを終了すると混乱する可能性があります。これが複数回発生すると、本当にイライラすることがあります。

この問題をハッキングする方法について実装のヒントを提供することはできないので、私が目にする唯一の可能性は、すでに提案されているものです。

Escはゲームの優れたUXに不可欠であり、許容できる回避策がないため、フルスクリーンモードを完全にスキップすることもできます。

5
msp

一般に、ユーザーがすでに慣れている方法でインターフェースを設計することは間違いなく望ましいですが、影響のない外部の技術的な制限のため、これは上記のケースでは不可能です。したがって、ユーザーに別の規則に適応させる以外に選択肢はありません。

できるを実行すると、その適応が可能な限り簡単になります。利用可能な入力を常に表示すると、画面が視覚的に過負荷になる可能性がありますが、押すユーザーに正確に通知するのはどうでしょうか。 Esc 全画面表示モードの間?これには2つのことが必要です。

  • あなたはキャプチャすることができる必要があります Esc キーストローク(フルスクリーンモードが必ず終了する場合でも)。
  • ゲームが現在(全画面モード)であるかどうかを知る必要があります。

次に、「残念ながら、一部のブラウザは自動的に全画面モードを終了します。 Esc。したがって、代替キーを使用して、アクションXYZ をトリガーすることもできます。 Esc 彼らがすべきでないとき。 msparer で言及されているように、ゲームでの入力はしばしば反射のようですが、ゲームのロードには少数の「標準化された」キー(例: w、 a、 s、 d 方向制御用)。カスタム機能があり、ユーザーが使用できない追加のキーを割り当てるためです。ユーザーがゲームに順応するのをどれだけスムーズにサポートできるかは常に問題です。

全画面モードを完全にスキップすることを強くお勧めします。あなたは、一部のユーザーがの影響で混乱する可能性があると述べています Esc 全画面モードの場合はキーを使用しますが、上記のようにユーザーを代替キーにすぐに慣れなかったとしても、別のキーでうまくやっている他のユーザーを罰することは正当化できません。最悪の場合、代替キーを使用して不幸なユーザーにつながる可能性があります( they は機能を拒否されます-オプションの機能であるオフ嫌いな人- others はうまくいかないため)、およびしないを行う不幸なユーザーは、 Esc 全画面モードでキーを押します。問題が表示されず、説明が複雑に聞こえます(つまり、説明するのにまったく適していません)。

4
O. R. Mapper

多くのレトロなキーボードベースのゲームでは、以下のように、主要な凡例が下部に配置されているのを見てきました。

example

OK例はHostファイルの変更であることはわかっていますが、使用可能なコマンドが明示的に配置される場所にアイデアがあります。

または、最初の画面にキーを導入して、この説明画面のようにゲームの使い方を示すことができます。

example 2

2
Pdxd

の1対1の置き換えを提供するだけではなく、 Esc 、それぞれの場合に回避策を実装できます。たとえば、「確認」ポップアップで、「キャンセル」オプションの隣に「確認」オプションがあります。ユーザーが「キャンセル」したい場合は、矢印キーを押して他のオプションに切り替え、次にメニューオプションの確認に使用するボタンと同じボタンを押します。

同様に、メニューに「戻る」オプションを追加したり、矢印キーを使用したり、 Tab 入力フィールドの切り替えなど.

ゲームを終了することについては、私はそれを続けることができると思います Escなぜなら、彼らがゲームを終了している場合、おそらくフルスクリーンも終了したいからです!

0
Brian Duddy

私の提案は:

  • Q 古いPCゲームを終了するための従来のキーです。これを試すことができます。そしてもちろん、ページの下部にQ:exit/backのようなヒントを表示する必要があります。
  • メニューベースのインタラクションの場合、確認アクションをトリガーする方法に応じて、キャンセル/バックの反対を使用します。例えば。  ために  または Q ために enter。また、ページの下部に手順を表示します。
  • 入力フィールドがあるダイアログの場合、下部に「キャンセル」および「確認」ボタンがあり、ユーザーが押すことでそこに移動できるようにします  または tab。ホバーしたときにボタンをはっきりと強調表示します。

ユーザーはまだヒットする可能性があります esc 初めに。しかし、期待した結果が得られないこと、およびその方法について明確な指示があることを彼らが学んだ限り、彼らはすぐに学ぶことができます。

0
SeanC