ブログ書くぞ! と息巻いてましたが、実際作業に追われてそれどころじゃなかったんですが、そろそろ自分へのメモも兼ねて書きます。筆者は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に関しては相当変わったのでしばらく続く..

まず、AS3.0になって何が変わったのか?
いろんな本やら移行ガイドやらみても、なんでなのかわからないが専門用語やら小難しい言葉を使ってわざと難しく書いてるような気がしてならない..... 

とりあえず まず前提として覚えるべきことは

・変数には型が必須

var num:Number = new Number

ってやつですね、2.0でも任意で設定できましたが3.0では必須になります。
AS3.0ではAS2.0で曖昧に書いても勝手に暗黙で認識してくれたものを、厳密に記述することで処理を飛躍的に向上させているようで、その分コードが厳密になり非常に長ったらしくなりますw
 また、幸か不幸か定義した型以外のデータを代入するとエラーとなり、パブリッシュする時にエラーが出るので、2.0ではなぜエラーなのかすらわからなくて、ひたすらtrace()で確認するといったことがなく、間違いをより細かく指定してきます。(ドつぼにハマってるときは非常にウザいww)

  var 変数名 : 型

コレ必須です。


次は ムービークリップの扱いについて


霜寒の候、日を増すごとに寒さが加わってまいりますが、皆様いかがお過ごしでしょうか

はじめまして モチベーション高嶋です。

AS2.0で特に困ったこともなく、いまの今までメインで使い続けてきましたが、猫も杓子もAS3.0のご時世、ちょっとした情報を調べるにも2.0はすでに過去となっており、若干の焦りを覚えていたわけですが、中長期の運用を見通した大型の案件の制作を命じられ、ここはひとつ3.0にしょうじゃないかと思っていろいろと調べてきました。

これは、一人の男がAS3.0移行という一つの壁を乗り越えるまでの、儚くも切ない物語である キリッ

30代くらいで、プログラムの知識のないままFLASHに携わり、そのまま初代ActionScriptからずっとFLASHを使い続けてきた方で、私のように2.0から3.0に移行しないまま続けている人たちがいたとしたら、参考になれば幸いです。