Flashゲーム講座 & アクションスクリプトサンプル集



ハードの情報を調べる(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 以降で利用できる方法
 
System.capabilities.version プロパティを使用すると、バージョン情報を取得することができます。
 
得られる値は $version 変数と同じようなので、より古いバージョンでも使用できる $version 変数を使用するのがよさそうです。
 
バージョンを取得する

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 以降の動作制限

 
Flash Player 10 以降は、セキュリティの都合上、マウスやキーボード操作のイベント中しか動作しません。
 
"あいうえお"をクリップボードにコピーする

// マウスが押された時に実行されるイベント
onMouseDown = function (){

	var str = "あいうえお";
	System.setClipboard (str);

};
 

■クリップボードからの取り出し(文字列をペーストする)

 
System.getClipboard() メソッドは存在しません。
 
クリップボードからのデータの取り出しは、セキュリティの都合上できません。クリップボードは、書き込みのみ利用できる事になります。
 




システムメニューを呼び出す(Flash 6 以降)

 

サンプルをダウンロード
 


■クリップボードに書き込む(文字列をコピーする)

 
System.showSettings() メソッドを使用すると、[Adobe Flash Player 設定] パネルを表示することができます。
 
引数に以下の好きな数値を指定します。引数を省略した場合、前回開いたダイアログが表示されます。
 
ダイアログの種類
省略 前回開いたダイアログ
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」で確認
 




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);