データ型をチェックするにはtypeof,is,asなどを使います。
typeof演算子
typeof演算子はデータ型を表す文字列を返します。
typeof演算子を使用した結果
| データ型 |
結果 |
| Array |
“object” |
| Boolean |
“boolean” |
| Function |
“function” |
| int |
“number” |
| Number |
“number” |
| Object |
“object” |
| String |
“string” |
| uint |
“number” |
| XML |
“xml” |
| XMLList |
“xml” |
ユーザー定義クラスの
インスタンス |
“object” |
var num:int = 14;
var Valentine:Date = new Date();
var str:String = new String("choco");
var flag:Boolean = true;
var girl = new MovieClip();
trace(typeof num); // number
trace(typeof Valentine); // object
trace(typeof str); // string
trace(typeof flag); // boolean
trace(typeof girl); // object
is演算子
is演算子は特定のデータ型が一致すればtrue、そうでなければfalseを返します。
また、クラスの階層構造をチェックし、そのデータが継承する祖先のクラスを指定した場合にもtrueを返します。
var mySp:Sprite = new Sprite();
trace(mySp is Sprite); // true
trace(mySp is DisplayObject); // true
trace(mySp is Object); // true
as演算子
A as Bのように記述します。AがBで指定したデータ型に一致した場合その値を返し、一致しないときはnullを返します。
var mList:Array = ["January", "February", "March"];
trace(mList as Array); // one,two,three
trace(mList as Number); // null
trace(mList[2] as int); // null
整数にはint型もしくはuint型を使用します。int型は正、負の数を扱えますが、uint型は正の数だけしか扱えません。Numberは、整数、符号なし整数、および浮動小数点数を表すことができます。ただし、1つのデータに対して64ビットの領域を必要とします。パフォーマンスを最大化するためにっは、32ビットのintおよびuint型より大きい整数値に対してのみ、Numberデータ型を使用します。
数値を表すプリミティブデータの取る範囲
| データ型 |
デフォルト値 |
| int |
integer(整数)の略。
-2,147,483,648~2,147,483,647の整数 |
| uint |
unsigned integer(符合なし整数)の略。
0~4,294,967,295の整数 |
| Number |
整数、符号なし整数、および浮動小数点数 |
デフォルト値とは、値を設定する前に変数に格納されている値です。変数に初めて値を設定する場合は、変数を初期化します。変数を宣言して値を設定しないと、その変数は初期化されません。初期化されていない変数の値はデータ型によって異なります。
初期化されていない変数のデフォルト値
| データ型 |
デフォルト値 |
| Boolean |
false |
| int |
0 |
| Number |
NaN |
| Object |
null |
| String |
null |
| uint |
0 |
| 宣言されていない(型注釈 * と同じ) |
undefined |
| ユーザー定義クラスを含むその他すべてのクラス |
null |
Number 型の変数の場合、デフォルト値は NaN(非数)です。これは、IEEE-754 規格で定義されている特別な値で、数値を表さない値です。
値 null は、Boolean、Number、int、および uint 型の変数では有効な値ではありません。値 null をこれらの変数に割り当てようとすると、この値はそのデータ型のデフォルト値に変換されます。Object 型の変数の場合、値 null を割り当てることができます。値 undefined を Object 型の変数に割り当てようとすると、この値は null に変換されます。
上記を読んで全くその通りだなぁ、と。俺も最近アタマ悪くなったなぁと想っていたのですが、少し考えれば元々アタマは悪かったんですよね。受験勉強してた時(普通の文系)も同じ参考書を何回も何回もやってやっと覚えたわけで。アタマ悪いんだから純粋に勉強量で勝負しなくては。ということで
ActionScript 3.0 プログラミング入門を全て理解できるまで読み直していこうと想います。少しでも曖昧なところは全部あげていきます。(でもProgressionもちょこちょこやってくよ!)
(more…)
Tweenerではデフォルトで設定されている表示に関係するプロパティ(xとか_scaleとかBlur_blurXとか)以外にも、数値型であれば自作クラスのプロパティでもtweenできるみたい。サンプルではエリアをクリックすると、クリックした座標に向かって数値がtweenします。

(more…)
おなじみTweenerについてのメモです。tweener – Google Codeからダウンロードできます(この記事を書いてる時点で最新バージョンは1.31.74です)。
(more…)
呼び出し元に指定したDisplayObjectがついていない場合に起こる。
発生例
var sp:Sprite = new Sprite();
var sh:Shape = new Shape();
sh.graphics.beginFill(0xFF0000);
sh.graphics.drawRect(0, 0, 100, 100);
sh.graphics.endFill();
addChild(sh);
sp.removeChild(sh);
shはstageにaddChildされているが、spにaddChildされているものと勘違いしてremoveChildしようとした。
文字列で指定されたクラス名からクラスの参照を得るには、flash.utils.getDefinitionByName()を使います。
(more…)
TextFieldの装飾関係はTextFormatを適用させれば色々できるのですが結構使えなくて、xhtml/cssであっさりできる「デフォルトでは下線があってオンマウスで下線非表示」なんてこともできません。そこで外部cssを使って実装してみます。
(more…)