ブログ書くぞ! と息巻いてましたが、実際作業に追われてそれどころじゃなかったんですが、そろそろ自分へのメモも兼ねて書きます。筆者はAS2.0も独学ですので専門用語や解釈が独特な場合があるかもしれませんが、フィーリングで理解してください
ムービークリップをMCと略すと、昔は「みんながみんなその略を使うわけではないので自重してください」と言われたりしたもんですが、今やすっかりオフィシャルな略語ですよね!
FLASHの最たる特徴ともいえるMC、AS2.0ではまさに万能でしたがAS3.0ではすこし、いや結構変わりました。
まずattachMovieがなくなったのが一番びっくり、ライブラリから動的に配置することができたため非常に便利だったので、初めて知ったときに愕然としました。 ではAS3.0ではどうするんだ、って話なんですが、実はもっと簡単になりました。
まずはattachMovieと同じようにリンケージの設定(ここではmogeとします)してから
var mc : MovieClip = new moge();
addChild(mc);
これでOK!超簡単なんですが、これが2.0から3.0移行する際の最初の壁であるともいえます。
まず1行目
var mc : MovieClip = new moge();
mcというムービークリップを定義するのは2.0と同じですが、そのあとそのMCに入れるオブジェクトを直接クラスとして指定してますね、3.0ではこのようにリンケージで指定した名前はすべてクラス化されていて直接呼び出せます。
そしてもう一つの特徴である2行目
addChild(mc);
実はAS3.0ではステージに直接配置してあるオブジェクト以外はすべてデフォルトで非表示になっています。
内的に存在はしていますが描画を実行していません、addchild()はカッコの中身を表示するという命令です。
同時にこれはMCの入れ子構造の指定にもなります。
var mc : MovieClip = new moge();
var mc2 : MovieClip = new hoge();
addChild(mc);
mc.addChild(mc2);
こうすると mcの中にmc2を描画します。 この状態でmcのサイズや座標を変更するともちろんmc2にも反映され、mc2の座標のデフォルトはmcの中心点になります。また、入れ子構造で作る場合それぞれの中身をすべて設定してaddChildしておき、最後に親MCをaddChildすると便利です。
var mc : MovieClip = new moge();
var mc2 : MovieClip = new hoge();
mc2.x = 100
mc2.y = 50
mc.addChild(mc2); //親が非表示なので見えない
addChild(mc);
同じフレーム内で処理してる場合順序がどうでもおそらく結果に変化はないんですが、デバッグや構築中に整理しやすい気がします。
ここまでやって「よーし、じゃぁ今度は動的にmc2の座標を変更だ!」とおもってAS2.0と同じような感覚でやると、どつぼにハマります。
MCに関しては相当変わったのでしばらく続く..

ムービークリップをMCと略すと、昔は「みんながみんなその略を使うわけではないので自重してください」と言われたりしたもんですが、今やすっかりオフィシャルな略語ですよね!
FLASHの最たる特徴ともいえるMC、AS2.0ではまさに万能でしたがAS3.0ではすこし、いや結構変わりました。
まずattachMovieがなくなったのが一番びっくり、ライブラリから動的に配置することができたため非常に便利だったので、初めて知ったときに愕然としました。 ではAS3.0ではどうするんだ、って話なんですが、実はもっと簡単になりました。
まずはattachMovieと同じようにリンケージの設定(ここではmogeとします)してから
var mc : MovieClip = new moge();
addChild(mc);
これでOK!超簡単なんですが、これが2.0から3.0移行する際の最初の壁であるともいえます。
まず1行目
var mc : MovieClip = new moge();
mcというムービークリップを定義するのは2.0と同じですが、そのあとそのMCに入れるオブジェクトを直接クラスとして指定してますね、3.0ではこのようにリンケージで指定した名前はすべてクラス化されていて直接呼び出せます。
そしてもう一つの特徴である2行目
addChild(mc);
実はAS3.0ではステージに直接配置してあるオブジェクト以外はすべてデフォルトで非表示になっています。
内的に存在はしていますが描画を実行していません、addchild()はカッコの中身を表示するという命令です。
同時にこれはMCの入れ子構造の指定にもなります。
var mc : MovieClip = new moge();
var mc2 : MovieClip = new hoge();
addChild(mc);
mc.addChild(mc2);
こうすると mcの中にmc2を描画します。 この状態でmcのサイズや座標を変更するともちろんmc2にも反映され、mc2の座標のデフォルトはmcの中心点になります。また、入れ子構造で作る場合それぞれの中身をすべて設定してaddChildしておき、最後に親MCをaddChildすると便利です。
var mc : MovieClip = new moge();
var mc2 : MovieClip = new hoge();
mc2.x = 100
mc2.y = 50
mc.addChild(mc2); //親が非表示なので見えない
addChild(mc);
同じフレーム内で処理してる場合順序がどうでもおそらく結果に変化はないんですが、デバッグや構築中に整理しやすい気がします。
ここまでやって「よーし、じゃぁ今度は動的にmc2の座標を変更だ!」とおもってAS2.0と同じような感覚でやると、どつぼにハマります。
MCに関しては相当変わったのでしばらく続く..