Flash CS3 ドキュメンテーション |
|||
| ActionScript 2.0 の学習 > テキストとストリングの操作 > ストリングおよび String クラスについて > IME の使用 | |||
IME (Input Method Editor : 入力方式エディタ) を使用すると、中国語、日本語、韓国語といったアジアの言語で ASCII 以外の文字を入力できるようになります。ActionScript の IME クラスを使用すると、クライアントコンピュータ上で実行されている Flash Player アプリケーションでオペレーティングシステムの IME を直接操作できます。
ActionScript を使用して、次の点の判別が可能です。
IME クラスでは、現在の IME でどの変換モードが使われているかを判別できます。たとえば日本語 IME がアクティブになっている場合、System.IME.getConversionMode() メソッドを使用することで、変換モードがひらがな、カタカナ (または他の変換モード) のいずれであるかを判別できます。また、System.IME.setConversionMode() メソッドを使えば変換モードの設定が可能です。
|
メモ |
|
今のところ、どの IME がアクティブになっているかの判別 (IME がインストールされている場合) や、IME の種類の変更 (たとえば英語から日本語へ、韓国語から中国語へなど) はできません。 |
ユーザーのオペレーティングシステムによっては、実行時にアプリケーションで IME の有効 / 無効を切り替えたり、他の機能を実行したりすることもできます。System.capabilities.hasIME プロパティを使用すれば、システムに IME があるかどうかをチェックできます。次の例では、IME がインストールされているか、そしてアクティブかを判別する方法を示します。
if (System.capabilities.hasIME) {
if (System.IME.getEnabled()) {
trace("You have an IME installed and enabled.");
} else {
trace("You have an IME installed but not enabled.");
}
} else {
trace("Please install an IME and try again.");
}
上記のコードではまず、現在のシステムに IME がインストールされているかどうかをチェックします。IME がインストールされていれば、現在有効になっているかどうかが Flash によってチェックされます。
[出力] パネルに、IME がインストールされているかどうか、そして現在アクティブかどうかを示すメッセージが表示されます。
また、IME クラスを使用することで、実行時に Flash で IME の有効 / 無効を切り替えることもできます。次の例を試してみるには、システムに IME がインストールされている必要があります。特定のプラットフォームに IME をインストールする方法の詳細については、次のリンクを参照してください。
次の例に示されているように、SWF ファイルの再生時に IME の有効 / 無効を切り替えることができます。
checkIME();
var my_fmt:TextFormat = new TextFormat();
my_fmt.font = "_sans";
this.createTextField("ime_txt", 10, 100, 10, 320, 240);
ime_txt.border = true;
ime_txt.multiline = true;
ime_txt.setNewTextFormat(my_fmt);
ime_txt.type = "input";
ime_txt.wordWrap = true;
enable_btn.onRelease = function() {
System.IME.setEnabled(true);
};
disable_btn.onRelease = function() {
System.IME.setEnabled(false);
};
function checkIME():Boolean {
if (System.capabilities.hasIME) {
if (System.IME.getEnabled()) {
trace("You have an IME installed and enabled.");
return true;
} else {
trace("You have an IME installed but not enabled.");
return false;
}
} else {
trace("Please install an IME and try again.");
return false;
}
}
このコードは、5 つのセクションに分かれています。最初のセクションでは checkIME() メソッドを呼び出しています。これにより、システムに IME がインストールされていて、アクティブであれば [出力] パネルにメッセージが表示されます。2 番目のセクションではカスタムテキストフォーマットオブジェクトを定義しており、フォントを _sans に設定しています。3 番目のセクションではテキスト入力フィールドを作成し、カスタムテキストフォーマットを適用しています。4 番目のセクションでは、前の手順で作成した enable_btn インスタンスおよび disable_btn インスタンスのイベントハンドラをいくつか作成しています。5 番目の、コードの最後のセクションではカスタム関数 checkIME() を定義しており、この関数では、現在のシステムに IME がインストールされているか、されているならアクティブかどうかをチェックします。
|
メモ |
|
この例を実行するには、システムに IME がインストールされている必要があります。IME のインストールの詳細については、この例の前に示されているリンクを参照してください。 |
ステージ上のテキスト入力フィールドにテキストを入力します。IME を別の言語に切り替え、テキスト入力フィールドにもう一度テキストを入力します。Flash Player で、新しい IME を使用して文字が入力されます。ステージ上の disable_btn ボタンをクリックすると、Flash は前の言語を使用する設定に戻り、現在の IME 設定は無視されます。
System.capabilities.hasIME の詳細については、『ActionScript 2.0 リファレンスガイド』の「hasIME (capabilities.hasIME プロパティ)」を参照してください。
このページに新しいコメントが追加された場合に、電子メールでの通知を希望する。 | コメントレポート
現在のページ: http://livedocs.adobe.com/flash/9.0_jp/main/00000945.html