AS3フレームアクション メモ

■parent
回避するにはparentがムービークリップであるということをFlashに知らせる必要があります。

MovieClip(parent).stop();

どっちか

var mc:MovieClip = parent as MovieClip;
mc.stop();

■ひとつ上の階層parentにアクセスする場合は、

MovieClip(parent).nextFrame();

ふたつ上の階層parent.parentにアクセスする場合は、

MovieClip(parent.parent).nextFrame();

で表すようです。
理由はうまく説明できませんが(MovieClipだからなそうな?)、
なんとか動きます。

rootにアクセスする場合は
MovieClip(root).nextFrame();

■フレームアクションでタイマー

this.stop();

var timer:Timer = new Timer(2000,1);//2秒後
timer.addEventListener(TimerEvent.TIMER, SampleFunc);
timer.start();

function SampleFunc( event:TimerEvent ):void
{
trace(“kita-“);
}

■フレームアクションでボタンそうさ

mess1_mc.next_bt_mc.buttonMode = true;

mess1_mc.next_bt_mc.addEventListener(MouseEvent.MOUSE_OVER, bt_Over);
mess1_mc.next_bt_mc.addEventListener(MouseEvent.MOUSE_OUT, bt_Out);
mess1_mc.next_bt_mc.addEventListener(MouseEvent.CLICK, bt_Click);

上記のように書いて、下の関数を先頭に宣言して流用した。

function bt_Over(e:Event) {
var targetMC:MovieClip = e.currentTarget as MovieClip;
targetMC.gotoAndStop(2);
}
function bt_Out(e:Event) {
var targetMC:MovieClip = e.currentTarget as MovieClip;
targetMC.gotoAndStop(1);
}
function bt_Click(e:Event) {
this.gotoAndPlay(currentFrame+1);
}

■名前で判断
function bt_Click(e:Event) {

var targetMC:MovieClip = e.target as MovieClip;
var btnName:String = e.target.name as String;

if(btnName == “bt01_mc”) {
museum_mc.gotoAndStop(1);
}else if(btnName == “bt02_mc”) {
museum_mc.gotoAndStop(2);
}else if(btnName == “bt03_mc”) {
museum_mc.gotoAndStop(3);
}else if(btnName == “bt04_mc”) {
museum_mc.gotoAndStop(4);
}else if(btnName == “bt05_mc”) {
museum_mc.gotoAndStop(5);
}else if(btnName == “bt06_mc”) {
museum_mc.gotoAndStop(6);
}else if(btnName == “bt07_mc”) {
museum_mc.gotoAndStop(7);
}
gotoAndPlay(21);
}