システムについて
・ | ハードの情報を調べる(Flash 6 以降) |
・ | FlashPlayerのバージョンを調べる |
・ | Flashが置かれているURLを調べる |
・ | システムクリップボードにコピーする(Flash 7以降) |
・ | システムメニューを呼び出す(Flash 6 以降) |
・ | IMEの使用を切り替える(Flash 8 以降) |
・ | IMEの変換モードを設定する(Flash 8 以降) |
ハードの情報を調べる(Flash 6 以降)
サンプルをダウンロード
■Flash が実行されているシステムの情報を取得する
Flash が実行されているシステムの情報を取得するには、System.capabilities.* のプロパティを使用します。
■Flash 6 以降利用可能なプロパティ
プロパティ名 | 説明 | *1 |
System.capabilities. hasAudio |
オーディオ機能があるか | A |
System.capabilities. hasAudioEncoder |
オーディオストリーム (マイクからのストリームなど) をエンコードできるか | AE |
System.capabilities. hasEmbeddedVideo |
埋め込みビデオをサポートしているか | EV |
System.capabilities. hasMP3 |
MP3 デコーダーがあるか | MP3 |
System.capabilities. hasPrinting |
印刷をサポートするか | PR |
System.capabilities. hasScreenBroadcast |
Flash Communication Server を通して実行されるスクリーンブロードキャストアプリケーションの開発を Flash Player がサポートしているか | SB |
System.capabilities. hasScreenPlayback |
Flash Communication Server を通して実行されるスクリーンブロードキャストアプリケーションの再生を Flash Player がサポートしているか | SP |
System.capabilities. hasStreamingAudio |
ストリーミングオーディオを再生できるか | SA |
System.capabilities. hasStreamingVideo |
ストリーミングビデオを再生できるか | SV |
System.capabilities. hasVideoEncoder |
ビデオストリーム (Web カメラからのストリームなど) をエンコードできるか | VE |
System.capabilities. isDebugger |
Flash Player がデバッグ用の特別なバージョンか | DEB |
System.capabilities. language |
システムの言語(一覧) | L |
System.capabilities. manufacturer |
Flash Player の製造元を示すストリング。"Macromedia OSName" という形式で、OSName には "Windows"、"Macintosh"、"Linux"、または "Other OS Name" | M |
System.capabilities. os |
オペレーティングシステムを示すストリング "Windows XP" "Windows 2000" "Windows NT" "Windows 98/ME" "Windows 95" "Windows CE" "Linux" "MacOS" |
OS |
System.capabilities. pixelAspectRatio |
画面のピクセル縦横比を示す整数 | AR |
System.capabilities. screenColor |
画面がカラーか (color)、グレースケールか (gray)、モノクロか (bw) | COL |
System.capabilities. screenDPI |
画面の解像度を表す 1 インチあたりのドット数 (dpi) をピクセル単位 | DP |
System.capabilities. screenResolutionX |
画面の最大水平解像度を示す整数 | R |
System.capabilities. screenResolutionY |
画面の最大垂直解像度を示す整数 | R |
System.capabilities. serverString |
System.capabilities の各プロパティの値を示す URL エンコードストリング(*1) | なし |
System.capabilities. version |
Flash Player のバージョンとプラットフォーム情報を含むストリング | V |
System.capabilities. windowlessDisable |
? | WD |
■Flash Player 6 r65 以降利用可能なプロパティ
プロパティ名 | 説明 | *1 |
System.capabilities. hasAccessibility |
Flash Player とアクセシビリティ補助との間の通信をサポートしているか | ACC |
■Flash 7 以降利用可能なプロパティ
プロパティ名 | 説明 | *1 |
System.capabilities. avHardwareDisable |
カメラとマイクが有効か | AVD |
System.capabilities. localFileReadDisable |
ハードディスクから読み取りを試みるか | LFD |
System.capabilities. playerType |
Flash Player の種類を示すストリング "StandAlone" "External" "PlugIn" "ActiveX" |
PT |
■Flash 8 以降利用可能なプロパティ
プロパティ名 | 説明 | *1 |
System.capabilities. hasIME |
IME がインストールされている | IME |
■システム言語一覧
システム言語 | ストリング |
チェコ語 | cs |
デンマーク語 | da |
オランダ語 | nl |
英語 | en |
フィンランド語 | fi |
フランス語 | fr |
ドイツ語 | de |
ハンガリー語 | hu |
イタリア語 | it |
日本語 | ja |
韓国語 | ko |
ノルウェー語 | no |
その他/不明 | xu |
ポーランド語 | pl |
ポルトガル語 | pt |
ロシア語 | ru |
簡体字中国語 | zh |
中華人民共和国(簡体字中国語) | zh-CN |
スペイン語 | sv |
繁体字中国語 | zh |
台湾 (繁体字中国語) | zh-TW |
トルコ語 | tr |
FlashPlayerのバージョンを調べる
サンプルをダウンロード
■Flash Player 4.0r11 以降で利用できる方法
$version という変数に、バージョン情報が格納されているので取得します。
バージョンを取得する
trace($version);
取得結果の一例です。
取得結果例
WIN 10,1,85,3
MAC 8,0,22,0
UNIX 5,0,55,0
LNX 9,0,115,0
■Flash 5 以降で利用できる方法
getVersion() 関数を使用すると、バージョン情報を取得することができます。
得られる値は $version 変数と同じようなので、より古いバージョンでも使用できる $version 変数を使用するのがよさそうです。
バージョンを取得する
trace(getVersion());
■Flash 6 以降で利用できる方法
バージョンを取得する
trace(System.capabilities.version);
■プラットフォーム情報を取得する
$version 変数の文字列から、プラットフォーム情報を取り出してみます。
「文字の先頭」から「最初に出現する空白」までの文字がプラットフォーム情報になります。
プラットフォーム情報を取得する
var v = $version;
var platform = v.substr(0,v.indexOf(" "));
trace(platform);
プラットフォームとして以下の種類があるようです。
文字列 | オペレーティングシステム |
WIN | Microsoft Windows |
MAC | Mac OS |
LNX | Linux |
UNIX | UNIX |
■メジャーバージョンを取得する
$version 変数の文字列から、メジャーバージョンを取り出してみます。
「最初に出現する空白」から、「最初に出現するカンマ」までが、メジャーバージョン情報になります。
parseInt() 関数を使用して、文字列から数値に変換します。
メジャーバージョン情報を取得する
var v = $version;
var major = parseInt(v.substring(v.indexOf(" ") + 1,v.indexOf(",")));
trace(major);
■マイナーバージョン値を取得する
$version 変数の文字列から、4つのバージョン値を取り出してみます。
「最初に出現する空白」から、「文字の最後」まで取り出して、「カンマ区切り」で各値を抽出します。
parseInt() 関数を使用して、文字列から数値に変換します。
マイナーバージョン情報を取得する
var v = $version;
var version = v.substring(v.indexOf(" ") + 1).split(",");
for(var i=0; i < version.length;i++){
version[i] = parseInt(version[i]);
}
trace(version[0]);
trace(version[1]);
trace(version[2]);
trace(version[3]);
Flashが置かれているURLを調べる
サンプルをダウンロード
■Flashが置かれているURLを調べる
Flash が格納されている URL を取得するには、_url プロパティを使用します。
ローカルにある場合は、ローカルディレクトリのフルパスが取得できます。
Flash が格納されている URL を取得する
trace(_root._url);
■URL エンコードされた文字列を元に戻す
URL エンコードされた文字列を、元の文字列に戻します。
デコードするには、unescape() 関数を使用します。
URL エンコードされた文字列をデコードする
trace(unescape(_root._url));
システムクリップボードにコピーする(Flash 7 以降)
サンプルをダウンロード
■クリップボードに書き込む(文字列をコピーする)
文字列をクリップボードに書き込む(文字列をコピーする)には、
System.setClipboard() メソッドを使用します。
引数に、コピーしたい文字列を指定します。
"あいうえお"をクリップボードにコピーする
var str = "あいうえお";
System.setClipboard (str);
■ Flash Player 10 以降の動作制限(セキュリティ)
マウスやキーボードなどの押下操作中に限って、実行する事ができます。
"あいうえお"をクリップボードにコピーする
// マウスが押された時に実行されるイベント
onMouseDown = function (){
var str = "あいうえお";
System.setClipboard (str);
};
■クリップボードからの取り出し(文字列をペーストする)
System.getClipboard() メソッドは存在しません。
クリップボードからのデータの取り出しは、セキュリティの都合上できません。クリップボードは、書き込みのみ利用できる事になります。
システムメニューを呼び出す(Flash 6 以降)
サンプルをダウンロード
■クリップボードに書き込む(文字列をコピーする)
値 | ダイアログの種類 |
省略 | 前回開いたダイアログ |
0 | プライバシ |
1 | ローカル記憶領域 |
2 | マイク |
3 | カメラ |
このメソッドは、Flashの表示サイズが 幅:215 × 高さ:138 以下の場合、動作しません。
使用例です。
プライバシパネルを表示
System.showSettings (0);
ローカル記憶領域パネルを表示
System.showSettings (1);
マイクパネルを表示
System.showSettings (2);
カメラパネルを表示
System.showSettings (3);
■[Adobe Flash Player 設定] パネルが動作しない?
HTML タグの wmode パラメータに "direct" や "gpu" を指定すると[Adobe Flash Player 設定] パネルが起動しないようです。
「Windows 7」「Flash Player 10.1」で確認
「Windows 7」「Flash Player 10.1」で確認
IMEの使用を切り替える(Flash 8 以降)
サンプルをダウンロード
■IME(Input Method Editor)とは?
ひらがなや漢字などの文字を入力するときに、アルファベット等から変換しながら入力していくプログラムを IME (Input Method Editor) といいます。
通常、ゲームでキーボード操作中は、IME を使用する必要はありません。
ユーザーが全角入力状態であれば、アクションスクリプトから半角入力状態に切り替えることができます。
■IME が使用可能か調べる
IME をインストールしているか(使用可能か)調べるには、System.capabilities.hasIME プロパティを使用します。
true であれば、利用可能です。
IME を利用可能か調べる
trace(System.capabilities.hasIME);
■IME を使用しているか調べる
IME を使用しているか調べるには、System.IME.getEnabled() メソッドを使用します。
true であれば、マルチバイト入力状態です。
false であれば、英数入力状態です。
IME を使用しているか調べる
trace(System.IME.getEnabled());
■IME を使用の有無を設定する
IME を使用するには、System.IME.setEnabled() メソッドを使用します。
引数に true をセットすれば、マルチバイト入力状態となります。
引数に false をセットすれば、英数入力状態となります。
IME の使用する
System.IME.setEnabled(true);
IME の使用しない
System.IME.setEnabled(false);
IMEの変換モードを設定する(Flash 8 以降)
サンプルをダウンロード
■IME の変換モードの種類について
IME の変換モードの種類として、以下の定数が定義されています。
定数 | 文字 | 変換モード |
System.IME. ALPHANUMERIC_FULL |
"ALPHANUMERIC_FULL" | 全角英数 |
System.IME. ALPHANUMERIC_HALF |
"ALPHANUMERIC_HALF" | 半角英数 |
System.IME. JAPANESE_HIRAGANA |
"JAPANESE_HIRAGANA" | ひらがな |
System.IME. JAPANESE_KATAKANA_FULL |
"JAPANESE_KATAKANA_FULL" | 全角カタカナ |
System.IME. JAPANESE_KATAKANA_HALF |
"JAPANESE_KATAKANA_HALF" | 半角カタカナ |
System.IME. JAPANESE_KATAKANA_HALF |
"CHINESE" | 簡体字中国語 IME 繁体字中国語 IME |
System.IME. KOREAN |
"KOREAN" | 韓国語 IME |
System.IME. UNKNOWN |
"UNKNOWN" | 不明 |
■IME の変換モードを取得する
IME の変換モードを調べるには、System.IME.getConversionMode() メソッドを使用します。
IME の変換モードを取得する
trace(System.IME.getConversionMode());
■IME の変換モードを変更する
IME の変換モードを変更するには、System.IME.setConversionMode() メソッドを使用します。
引数に、好きな変換モードの定数 (System.IME.*) を指定します。
IME の変換モードを「ひらがな」に設定する
System.IME.setConversionMode(System.IME.JAPANESE_HIRAGANA);
IME の変換モードを「半角カタカナ」に設定する
System.IME.setConversionMode(System.IME.JAPANESE_KATAKANA_HALF);