2

ブラウザで動作する小さなビデオ ゲームを Flex で作成しました。プレーヤーはキーボードの矢印ボタンを押すことで移動するため、それらのキーストロークをキャプチャする必要があります。実際、プレイヤーがこれらのキーのいずれかを押すと、ゲーム アクションが開始されます。

キーストロークをキャプチャするには、ブラウザだけでなく、Flash/Flex アプリケーションにフォーカスする必要があります。

アプリケーションにフォーカスがあることを確認するにはどうすればよいですか? ちょっとしたハックを実装しました。ゲームを開始するためにクリックする必要がある「開始」ボタンです。このボタンの唯一のポイントは、アプリにフォーカスがあることを確認することです。これに対するより良い解決策はありますか?

4

3 に答える 3

2

いいえ、これが唯一の方法ですが、現在のソリューションは素晴らしいものだと思います。(ユーザーとして) クリックしてフォーカスする必要があるのは、アプリケーションが静かにフォーカスを盗むことができないようにするためです。たとえば、パスワードを盗むために、知らないうちにキーストロークをログに記録します。

于 2010-01-01T21:58:24.853 に答える
1

一部のブラウザー (IE) では、JavaScript を介して SWF にフォーカスを与えることができます。残念ながら、これは Firefox では機能しません。そのため、一部のユーザーは SWF をクリックしてフォーカスを当てる必要があります。ゲーム内でブラウザを簡単に確認できます。IE の場合は、SWF に自動的にフォーカスを与え、[開始] ボタンを表示しません。次に、Firefox で [開始] ボタンを表示します。

于 2010-01-01T22:16:30.900 に答える
0

以下のリンクをご覧ください。私にとってはうまくいきました。

http://www.flexjunk.com/2010/12/30/managing-initial-swf-focus-in-all-browsers/

于 2012-04-20T11:37:51.217 に答える