FC2ブログ
 
■プロフィール

クリエイトウェーブ

Author:クリエイトウェーブ
開発における、諸々を書いていきたいなと思っています。
mail : info@createwave.jp

■最近の記事
■カテゴリー
■最近のコメント
■月別アーカイブ

■最近のトラックバック
■ブログ内検索

■RSSフィード
■リンク
全角文字の確定までキーを受け取らないようにするには
XMLSocketを利用したロビーチャットシステムを作成しているのですが、メッセージを打ち込んだ後にEnterキーでメッセージを送信が、やはり使い安いと思う。

で、KeyListenerとか色々試してみたんですが、普通日本語入力は漢字変換で入力文字確定の時に必ずEnterキーを押すわけで、その都度拾ってしまいます。

漢字確定のEnterなのかメッセージ送信のEnterなのか区別は困難。それにイチイチ漢字変換中なのにイベントが来るのもどうかと思うのでなんとかしたい・・・・

送信ボタンを付ける手もあるけど、いくらサンプル版とは言えそれじゃあ使いにくいし・・と悩んでたのですが解決しました。

Directorだと入力フィールドやテキストのキャストmemberスクリプトにKeyDown命令を書けば解決なのですが、Flashも似てました。
テキスト入力のインスタンスをKeyListenerに登録するだけでした。


テキスト入力インスタンス名.onKeyDown = function ()
{
  if (Key.getCode () == Key.ENTER)
  {
    //ここに送信命令を書く
  }
};
Key.addListener (テキスト入力インスタンス名);

こんな感じ。
これで期待通りの動きになってくれました。

XMLSocketサーバーは、C#で組んでますが大分出来上がってきました。もうすぐ完成予定です(未だ未だ改良は必要そうですが・・)

テーマ:Flash - ジャンル:コンピュータ

カテゴリー:Flash | TM(0) | CM(0)
コメントの投稿

管理者にだけ表示を許可する