02-09-10
ActionScript3.0ではeval();が使えないので解決方法は
そろそろActionScript2.0から脱皮できそうな予感がしてきました!(オソw)そこで、ActionScript2.0でできたことで、ActionScript3.0でできないこと、その違いと方法を記録していきたいと思います。
AS3でeval();が使えない
evalは「テキストをインスタンス名のターゲットに変換してくれる」というのがボクのイメージです。
例えば、ステージ上に、mc0からmc9までのムービークリップがあるとします。これらに一気に命令する時は、
▼ActionScript1.x ~ 2.0の場合
for(var i:Number = 0; i<10; i++){
eval("mc"+i).onRelease = function(){
trace("ほげ");
}
}
for文の中の変数「i」を利用して、「mc0」「mc1」「mc2」「mc3」…..「mc8」「mc9」まで一気にonReleaseのボタンが設定できました。
ActionScript3.0だとevalが使えないので、下記の方法を使います。
▼ActionScript3.0の場合
for(var i:int = 0; i<10; i++){
this.["mc"+i].onRelease = function(){
trace("ほげ");
}
}
えーっと、実は、この記述の方法はActionScript1.x~2.0で、Flash Player5以上であれば使うことができます。
更にもっと深い階層になると、
for(var i:int = 0; i<10; i++){
this.["mc"+i]["mc2"+i]["mc3"+i].onRelease = function(){
trace("ほげ");
}
}
と、ドットで連結させるところを、[ ] ←この括弧で連結することで、インスタンス名にアクセスすることができます。
for文でインスタンスのプロパティに対してアクセスしたい場合、getChildByNameを使ってインスタンス名を参照します。例えばX座標のとき、
for(var i:int = 0; i<10; i++){
trace(this.getChildByName("mc"+i).x);
}
Related posts
Leave a Comment
LaCie 3.5インチ 外付ハードディスク LaCie grand LCH-GRシリーズ 2TB 14,190円(10,170円OFF)
ActionScript 3.0 イメージエフェクト - スクリプトで作る画像効果アニメーションの次は画像や動画、音に対してのエフェクト演出に関して書かれているみたいです。非常に楽しみです!!!
基本からしっかりわかるActionScript 3.0ActionScript3.0になかなかとっかかれない方むけです。分かりやすい文章とイラストとサンプルでとても読みやすいです。
h concept Cupmenカップメン グリーン D-520-GRカップめんのフタを必死におさえてくれるカワイイやつ!色が変わったらできあがり~♪
Flash Math Creativity, Second Edition


ActionScript 3.0 アニメーション丁寧に解説されているのはもちろん、サンプルを作っていくと後からそのサンプルを応用して作っていく。クラスの仕組みや三角関数や加速度、摩擦など詳しく書かれているので値段の価値はそうとうあると思います。
AGFAPHOTO 503万画素デジタルカメラ Sensor 505Dagfaのトイデジ。あまい機能で作り出す独特な写真が撮れます。晴天のとき本体を動かしながらシャッターを押すとゆがんだ像が撮れてとても面白いです!
SANYO USB出力付きリチウムイオンバッテリー出先でiPhoneの電池がなくなった!そんな時、このバッテリーで3回ぐらいフル充電できます。コンパクトで非常に便利。USB dockケーブルが付属していないのでお忘れなく
「空気読み」企画術
