投稿日:2007-06-01 Fri
XMLSocketを利用したロビーチャットシステムを作成しているのですが、メッセージを打ち込んだ後にEnterキーでメッセージを送信が、やはり使い安いと思う。で、KeyListenerとか色々試してみたんですが、普通日本語入力は漢字変換で入力文字確定の時に必ずEnterキーを押すわけで、その都度拾ってしまいます。
漢字確定のEnterなのかメッセージ送信のEnterなのか区別は困難。それにイチイチ漢字変換中なのにイベントが来るのもどうかと思うのでなんとかしたい・・・・
送信ボタンを付ける手もあるけど、いくらサンプル版とは言えそれじゃあ使いにくいし・・と悩んでたのですが解決しました。
Directorだと入力フィールドやテキストのキャストmemberスクリプトにKeyDown命令を書けば解決なのですが、Flashも似てました。
テキスト入力のインスタンスをKeyListenerに登録するだけでした。
テキスト入力インスタンス名.onKeyDown = function ()
{
if (Key.getCode () == Key.ENTER)
{
//ここに送信命令を書く
}
};
Key.addListener (テキスト入力インスタンス名);
こんな感じ。
これで期待通りの動きになってくれました。
XMLSocketサーバーは、C#で組んでますが大分出来上がってきました。もうすぐ完成予定です(未だ未だ改良は必要そうですが・・)
△ PAGE UP