キーボード関連イベントを調べる

キーボード関連

 テキストと切り離して考えられないのはキーボードだ。
 そんな訳で、今回はKeyboardEventを調べてみる。

 まずはキーボード入力のキャプチャを読む。
 基本的にボタンとイベントでやったことと一緒。マウスとさほど変わりなし。
 しかし「今キーが押されている状態かそうでないか」ということが判定できないようだ。あれ?前はできてなかったか?Flash / Flash / Keyを見るとKey.isDown()とかあるなー。このへんのメソッドどこ行った?Keyboardには無い…ダウングレード!!!!
 ガッデーム、超ガッデーム。

 Stageオブジェクトをキーイベントのブロードキャスタとしておくと、Flashの領域全体でキーをチェックできるらしい。逆に言えば、他のオブジェクトの場合は、そのオブジェクトにフォーカスが当たってないとイベントが発生しないということだ。

うわぁ使えねぇよキーボードイベント

 で色々試してみると、キーとキーコードの値と全然違う値が返ってくる。キーボード右側の記号のあたり。
 ガッデーム!超ガッデーム!!

 Σc ' _' )  < 流行るとでも思ってんのかそのフレーズ

 それからテンキーのコードも返ってこないし、なんなんだよ。それもMacのみかよ。
 ありえねーよ。ガキの使いじゃねーんだよ。ちゃんとやれよAdobeっ!!
キーとキーコード間のマッピングは、デバイスやオペレーティングシステムによって異なります。このため、キーマッピングを使用してアクションをトリガしないでください。代わりに、Keyboard クラスによって提供される事前定義された定数値を使って、適切な keyCode プロパティを参照します。とか書いているが、Keyboardオブジェクトの定数には、キーボード右側の記号が用意されて無いんだよっ!!できねーことをやれってゆーな、お前はいじめっ子か!!!!

 てなわけで、キーボードは相変わらず使いづらいし、前より使いにくくなっているようでもある。
 前から思ってんだけどさ、Flashの開発者どもって、ユーザインタフェースをナメてるよ。オーサリング環境のUIも、ActionScriptの入力関連のオブジェクトも、勿論UIコンポーネントもさ!
 はぁはぁ。

テクスティオの入力部分作った

 そんな訳で、テクスティオの入力部分をActionScript3.0で書き換えた。というか全面的に書き直した。
 AS1からだと移植は楽じゃないよ。ほぼ全面書き換えになっちゃうよ。
 でもソースの見通しは断然良くなるので、リファクタリングするつもりで書き換えるのはアリだよ。

 えーと、以下は英字を打ち込むとローマ字変換で半角カナにするFlashムービー。

 今日はここまで。


2008-04-15