同じ親を持つクラスをひとつの変数で使いまわす

すごい基礎的なことなんだろうけど今更ながら再確認したのでメモ。

普段だとインスタンスを生成するときには変数の型もインスタンスに合わせる。

var sp:Sprite = new Sprite();

で、このspにビットマップ代入する場合、下の例だともちろんエラーになる。

// Sprite型の変数にBitmapインスタンスを生成しようとしてエラー
sp = new Bitmap();
trace(sp) //Sprite型の変数にBitmapを生成しようとしてエラー

なので変数の型は両方を子に持つDisplayObjectなどにすれば使い回しが可能。

// var obj:DisplayObject = new Sprite();
trace(obj); // [object Sprite]

obj = new MovieClip();
trace(obj); // [object MovieClip]

obj = new Bitmap();
trace(obj); // [object Bitmap]

Tags:

The URL to TrackBack this entry is:

コメントをどうぞ