■変数の宣言
変数はvarで宣言します。変数名には英数半角文字と半角記号を使うことを推奨されています。ただし、変数名を数字で始めることはできません。また、ActionScriptのキーワードを変数名に使ったり、演算子を名前の中に含めることもできません。
varで変数を宣言する際に同時にデータ型を指定できます。データ型の指定は必須ではありませんが、データ型を指定することでコンパイル時に型チェックが行われエラーを検出できます。また、変数名に続けてドットをタイプしたときに適切なコードヒントが表示されるようになります。データ型を指定することで内部処理も速くなります。
例:
変数はvarで宣言します。変数名には英数半角文字と半角記号を使うことを推奨されています。ただし、変数名を数字で始めることはできません。また、ActionScriptのキーワードを変数名に使ったり、演算子を名前の中に含めることもできません。
varで変数を宣言する際に同時にデータ型を指定できます。データ型の指定は必須ではありませんが、データ型を指定することでコンパイル時に型チェックが行われエラーを検出できます。また、変数名に続けてドットをタイプしたときに適切なコードヒントが表示されるようになります。データ型を指定することで内部処理も速くなります。
例:
var age:int; var address; var colors;
変数を宣言すると同時に初期値を設定することもできます。ActionScript3.0からは式を使った初期値の設定も可能です。
例:
変数名をカンマで区切ることで複数の変数を同時に宣言することもできます。このとき、左の変数から先に宣言されていきます。
例:
例:
■定数の宣言
定数はconstで宣言します。定数名も変数名と同様に英数半角と記号を使った名前にします。ActionScriptでは大文字だけを使い、単語は_で区切るという表記規則が使われています。定数の値は宣言時に1度しか設定できず、定数の値を後から代入しようとするとエラーになります。
例:
次の例は定数の値を後から変更しようとした場合です。これはエラーになります。
例:
例:
なお、オブジェクトを定数として宣言した場合は、そのオブジェクトに対する操作は可能なので注意が必要です。たとえば、配列PEN_COLORSを定数にした場合にpush()メソッドで値を追加することができます。
例:
ただし、この場合もPEN_COLORSの値を別の値で上書きすることはできません。
■グローバル定数
次の値は、どこからでも利用できるグローバル定数です。
次のキーワードは厳密には定数ではありませんが、定数と同じような使い方ができます。
■クラスの静的パブリック定数
標準クラスで定義してある定数もたくさんあります。これらは「クラス名.」を付けて使います。たとえば、Mathクラスには数値演算でよく利用する値が静的なパブリック定数として定義してあります。円周率ならばMath.PIのように参照します。
Numberクラスには最大値、最小値などの定数があります。最大数値ならばNumber.MAX_VALUEのように参照します。
Keyboardクラスにはキーコードを示す定数があります。BackspaceキーならばKeyboard.BACKSPACEのように参照します。
■エスケープシーケンスと¥記号
改行コードやタブコードなど、通常では表記できない文字列は\(バックスラッシュ)を使ったエスケープシーケンスを使って記述できます。ただし、Windowsでは\は¥記号で表示されます。Windowsにおいても、実際には\(バックスラッシュ、Unicode 005C)が入っています。アクションウインドウを英語フォント表記に変更すると\が入力されているのを確認できます。
たとえば、「色は"赤"です。」という文があるとき、ストリング内の"は\"と書くことで記述できます。
[:sample:] escapeSequence-1.fla
例:ストリング内の色を""で囲む
色を変数で指定するならば、次のようなスクリプトになります。
[:sample:]escapeSequence-2.fla
例:変数で指定した色を""で囲む
ところで、Windowsでは\が¥で表示されることから、¥1950というように円記号を表示したい場合にはそのまま\を¥として使うことが多くあります。実際、キーボードの¥キーをタイプしても\と同じコードが入力されます。しかし、円記号のつもりで\を使うとエスケープシーケンスと解釈されて不都合が出ることがあります。そこで円記号の¥を使う場合には、Unicodeの¥(00A5)を使います。
次のスクリプトはUnicodeを扱うためのエスケープシーケンスを使って円記号を入力した例です。
[:note:]
Mac OSXでは、optionキー+yでUnicodeの¥(00A5)を入力できます。
[:sample:] escapeSequence-3.fla
例:Unicodeの¥記号(00A5)をエスケープシーケンスを利用して入力する。
StringクラスのfromCharCode()を使ってUnicodeを該当文字に変換することもできます。
[:sample:] escapeSequence-4.fla
例:Unicodeの¥記号(00A5)をコード変換を使って入力する。
例:
var age:int = 24; var address_home:String = "茅ヶ崎市"; var colors:Array = new Array(); var a:int = 1; var b:int = 2; var c:int = a+b;
変数名をカンマで区切ることで複数の変数を同時に宣言することもできます。このとき、左の変数から先に宣言されていきます。
例:
var a:int = 1, b:int = 2, c:int = a+b; trace(a,b,c); //出力:1 2 3
例:
//変数aを宣言するときに変数b、cには値が入っていない。 var a:int = b+c, b:int = 1, c:int = 2; trace(a,b,c); //出力:0 1 2
■定数の宣言
定数はconstで宣言します。定数名も変数名と同様に英数半角と記号を使った名前にします。ActionScriptでは大文字だけを使い、単語は_で区切るという表記規則が使われています。定数の値は宣言時に1度しか設定できず、定数の値を後から代入しようとするとエラーになります。
例:
const PER:Number = 0.3; const VER_NO:String = "fl9";
次の例は定数の値を後から変更しようとした場合です。これはエラーになります。
例:
const PER:Number = 0.3; PER = 0.5;// ここでエラーになる。
例:
const VER_NO:String; VER_NO = "fl9";// ここでエラーになる。
なお、オブジェクトを定数として宣言した場合は、そのオブジェクトに対する操作は可能なので注意が必要です。たとえば、配列PEN_COLORSを定数にした場合にpush()メソッドで値を追加することができます。
例:
const PEN_COLORS:Array = new Array("green", "red"); PEN_COLORS.push("white"); trace(PEN_COLORS); //出力:green,red,white
ただし、この場合もPEN_COLORSの値を別の値で上書きすることはできません。
const PEN_COLORS:Array = new Array("green", "red"); PEN_COLORS = new Array("pink", "blue");// エラーになる
■グローバル定数
次の値は、どこからでも利用できるグローバル定数です。
定数 データ型 意味 Infinity Number 正の無限大 -Infinity Number 負の無限大 NaN Number 非数(数値ではない) undefined *(指定なし) 未定義
次のキーワードは厳密には定数ではありませんが、定数と同じような使い方ができます。
キーワード データ型 意味 true Boolean 真(1、"true") false Boolean 偽(0、"false") null Object データがないことを示す
■クラスの静的パブリック定数
標準クラスで定義してある定数もたくさんあります。これらは「クラス名.」を付けて使います。たとえば、Mathクラスには数値演算でよく利用する値が静的なパブリック定数として定義してあります。円周率ならばMath.PIのように参照します。
定数 データ型 意味 近似値 Math.E Number 自然対数の底e 2.71828182845905 Math.LN10 Number 10の自然対数 2.302585092994046 Math.LN2 Number 2の自然対数 0.6931471805599453 Math.LOG10E Number 10を定数とするeの対数 0.4342944819032518 Math.LOG2E Number 2を定数とするeの対数 1.442695040888963387 Math.PI Number 円周率 3.141592653589793 Math.SQRT1_2 Number 1/2の平方根 0.7071067811865476 Math.SQRT2 Number 2の平方根 1.4142135623730951
Numberクラスには最大値、最小値などの定数があります。最大数値ならばNumber.MAX_VALUEのように参照します。
定数 データ型 意味 Number.MAX_VALUE Number 扱える最大数値 Number.MIN_VALUE Number 0以外の正の値で、扱える最小数値 Number.NaN Number 非数(数値ではない) Number.NEGATIVE_INFINITY Number 負の無限大 Number.POSITIVE_INFINITY Number 正の無限大
Keyboardクラスにはキーコードを示す定数があります。BackspaceキーならばKeyboard.BACKSPACEのように参照します。
定数 データ型 意味 Keyboard.BACKSPACE uint Backspaceキーのキーコード値 (8) Keyboard.CAPS_LOCK uint CapsLockキーのキーコード値 (20) Keyboard.CONTROL uint Controlキーのキーコード値 (17) Keyboard.DELETE uint Deleteキーのキーコード値 (46) Keyboard.DOWN uint 下矢印キーのキーコード値 (40) Keyboard.END uint Endキーのキーコード値 (35) Keyboard.ENTER uint Enterキーのキーコード値 (13) Keyboard.ESCAPE uint Escキーのキーコード値 (27) Keyboard.F1 uint F1キーのキーコード値 (112) Keyboard.F10 uint F10キーのキーコード値 (121) Keyboard.F11 uint F11キーのキーコード値 (122) Keyboard.F12 uint F12キーのキーコード値 (123) Keyboard.F13 uint F13キーのキーコード値 (124) Keyboard.F14 uint F14キーのキーコード値 (125) Keyboard.F15 uint F15キーのキーコード値 (126) Keyboard.F2 uint F2キーのキーコード値 (113) Keyboard.F3 uint F3キーのキーコード値 (114) Keyboard.F4 uint F4キーのキーコード値 (115) Keyboard.F5 uint F5キーのキーコード値 (116) Keyboard.F6 uint F6キーのキーコード値 (117) Keyboard.F7 uint F7キーのキーコード値 (118) Keyboard.F8 uint F8キーのキーコード値 (119) Keyboard.F9 uint F9キーのキーコード値 (120) Keyboard.HOME uint Homeキーのキーコード値 (36) Keyboard.INSERT uint Insキーのキーコード値 (45) Keyboard.LEFT uint 左矢印キーのキーコード値 (37) Keyboard.NUMPAD_0 uint テンキーの 0キーのキーコード値 (96) Keyboard.NUMPAD_1 uint テンキーの 1キーのキーコード値 (97) Keyboard.NUMPAD_2 uint テンキーの 2キーのキーコード値 (98) Keyboard.NUMPAD_3 uint テンキーの 3キーのキーコード値 (99) Keyboard.NUMPAD_4 uint テンキーの 4キーのキーコード値 (100) Keyboard.NUMPAD_5 uint テンキーの 5キーのキーコード値 (101) Keyboard.NUMPAD_6 uint テンキーの 6キーのキーコード値 (102) Keyboard.NUMPAD_7 uint テンキーの 7キーのキーコード値 (103) Keyboard.NUMPAD_8 uint テンキーの 8キーのキーコード値 (104) Keyboard.NUMPAD_9 uint テンキーの 9キーのキーコード値 (105) Keyboard.NUMPAD_ADD uint テンキーの加算キーのキーコード値 (107) Keyboard.NUMPAD_DECIMAL uint テンキーの小数点キーのキーコード値 (110) Keyboard.NUMPAD_DIVIDE uint テンキーの除算キーのキーコード値 (111) Keyboard.NUMPAD_ENTER uint テンキーの Enterキーのキーコード値 (108) Keyboard.NUMPAD_MULTIPLY uint テンキーの乗算キーのキーコード値 (106) Keyboard.NUMPAD_SUBTRACT uint テンキーの減算キーのキーコード値 (109) Keyboard.PAGE_DOWN uint PageDownキーのキーコード値 (34) Keyboard.PAGE_UP uint PageUpキーのキーコード値 (33) Keyboard.RIGHT uint 右矢印キーのキーコード値 (39) Keyboard.SHIFT uint Shiftキーのキーコード値 (16) Keyboard.SPACE uint スペースバーのキーコード値 (32) Keyboard.TAB uint Tabキーのキーコード値 (9) Keyboard.UP uint 上矢印キーのキーコード値 (38)
■エスケープシーケンスと¥記号
改行コードやタブコードなど、通常では表記できない文字列は\(バックスラッシュ)を使ったエスケープシーケンスを使って記述できます。ただし、Windowsでは\は¥記号で表示されます。Windowsにおいても、実際には\(バックスラッシュ、Unicode 005C)が入っています。アクションウインドウを英語フォント表記に変更すると\が入力されているのを確認できます。
エスケープ文字 本来の値 \b バックスペース \f 改ページ \n 改行(LF) \r 改行(CR) \t タブ \unnnn Unicodeのnnnn \xnn ASCIIコードのnn \' ' \" " \\ \
たとえば、「色は"赤"です。」という文があるとき、ストリング内の"は\"と書くことで記述できます。
[:sample:] escapeSequence-1.fla
例:ストリング内の色を""で囲む
var msg:String = "色は\"赤\"です。" trace(msg); //出力:色は"赤"です。
色を変数で指定するならば、次のようなスクリプトになります。
[:sample:]escapeSequence-2.fla
例:変数で指定した色を""で囲む
var color:String = "赤"; var msg:String = "色は\""+ color +"\"です。" trace(msg); //出力:色は"赤"です。
ところで、Windowsでは\が¥で表示されることから、¥1950というように円記号を表示したい場合にはそのまま\を¥として使うことが多くあります。実際、キーボードの¥キーをタイプしても\と同じコードが入力されます。しかし、円記号のつもりで\を使うとエスケープシーケンスと解釈されて不都合が出ることがあります。そこで円記号の¥を使う場合には、Unicodeの¥(00A5)を使います。
次のスクリプトはUnicodeを扱うためのエスケープシーケンスを使って円記号を入力した例です。
[:note:]
Mac OSXでは、optionキー+yでUnicodeの¥(00A5)を入力できます。
[:sample:] escapeSequence-3.fla
例:Unicodeの¥記号(00A5)をエスケープシーケンスを利用して入力する。
var yen:String = "\u00A5"; var price:int = 1950; trace(yen+price); //出力:¥1950
StringクラスのfromCharCode()を使ってUnicodeを該当文字に変換することもできます。
[:sample:] escapeSequence-4.fla
例:Unicodeの¥記号(00A5)をコード変換を使って入力する。
var yen:String = String.fromCharCode(0x00A5); var price:int = 1950; trace(yen+price); //出力:¥1950