Home > AS2 > ステージ上の全てのmcを一瞬で止める、動かすactionscript

ステージ上の全てのmcを一瞬で止める、動かすactionscript

  • Posted by: ryow
  • 2007年8月30日 21:53
  • AS2

ステージ上のすべてのmcを制御したいと思うことがよくあります。

ボタンを押すと小窓が出て、ちょこまかうごいていたmcが一瞬で止まるという動きです。全てのmcの名前を知っていて、_root.a1_mc.stop();_root.a2_mc.stop();...なんてやってたらキリがないので、こういうやりかたはどうでしょう。

var aArr:Array = new Array();
a_btn.onRelease = function() {
	for (var mc in _root) {
		aArr.push(mc);
	}
	for (var i:Number = 1; i < aArr.length; i++) {
		eval(aArr[i]).stop();
	}
};

配列aArrにステージ上(ここでは_root)のオブジェクトを全て書き出して、stringとして名前を取得。それをaArrの長さだけ(aArr[0]は_rootだから1から)ループさせながらeval(aArr[i])とすればmcを扱っているのと同じ、というわけ。

UNIQLOのサイトみたいに、たくさんのボタンmcがあって、クリックすると商品の説明が表示される仕組みの場合、ひとつの説明を出している間はほかのボタンを押させたくないことがよくあります。そういうときはこれで、_rootじゃなくても必要なmc内のインスタンスを取得して、_enabled=false、と指定してやればいいんじゃないかな。

もっとスマートなやり方があったら教えてください。

すべてのmcを制御(fla形式:flash8)

Comments:0

Comment Form

Trackbacks:0

TrackBack URL for this entry
http://ryow.net/mt/mt-tb.cgi/227
Listed below are links to weblogs that reference
ステージ上の全てのmcを一瞬で止める、動かすactionscript from ryow.net Blog

Home > AS2 > ステージ上の全てのmcを一瞬で止める、動かすactionscript

About

りょうどっとねっとブログ

Twitter :ryownet

はてな :ryownet

Search

Return to page top