flash actionscriptとタイムライン

回答受付中の質問

flash actionscriptとタイムライン

flash CS4 Xpでの開発環境です。

メインのタイムラインとムービークリップ自身が持つタイムラインの二つのラインがあります。メインのタイムラインは5fで構成されており、1Fずつキーフレームが設置してあります。

メインのタイムライン上にアクションスクリプト
1F目
var flag=0;
stop();
if(flag=1){gotoAndPlay(2)}
と書かれています。

ムービークリップはメインのタイムライン上の1F目に設置してあり,ムービークリップのタイムラインは60Fで構成されていて、60F目にactionscript
flag=1;

と書いています。
ムービークリップの動きがすべて終わってから、メインのタイムラインを2F目に進めたいのですが、現状ではすぐに2F目にうつってしまうような感じになってしまっています。
どこがいけないのでしょうか?

もし知っている方がいましたらご教授いただきたいです。
よろしくお願いします。

投稿日時 - 2009-11-18 10:19:41

QNo.5457111

すぐに回答ほしいです

2人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

回答(3件中 1~3件目)

ANo.3

ActionScript2.0以下なのか3.0なのかがご質問からは判断できませんが,
どちらにしても

if(flag=1){gotoAndPlay(2)}

これは変です。
flag=1 の 「=」 は代入演算子です。
変数flagに1を代入しなさい という意味になります。
if判定では true が返ります。

「=」ではなく「==」にする必要があると思います。
「==」が等価演算子です。

投稿日時 - 2009-11-19 21:20:14

ANo.2

AS3.0をお使いなら、
-MainTimeLine側:
//ここから
stop();
var flag:Boolean = false;
var n:int=0;//フレームを数えるカウンターで、検証用
addEventListener(Event.ENTER_FRAME,xEnterFrame,false,0,true);
function xEnterFrame(e:Event):void {
n++;
if (flag) {
gotoAndStop(2);
removeEventListener(Event.ENTER_FRAME,xEnterFrame);
}
trace(n);
}
//ここまで
-MovieClipの最終フレーム:
//ここから
this.stop();
this.parent.flag=true;
//ここまで

となります。

投稿日時 - 2009-11-19 09:16:30

ANo.1

jjoe56513さん、
-MainTimeLine側
//ここから
stop();
var flag = 0;
var n:Number=0;//追記、フレームを数えるカウンターで、検証用
this.onEnterFrame = function():Void {//追記、flagの変化を常時監視し、
n++;//カウントアップ
if (flag == 1) {//MovieClipの最後のフレームで、_root.flag=1としてるので、これが、達成されたら、
gotoAndStop(2);//MainTimeLineが第二フレームに移動して、停止
this.onEnterFrame=null;//同時に、不要なonEnterFrameを無効化する
}
trace(n);//検証用
};
//ここまで
尚、if(flag=1)は、変数 flagを1にしたならの意味で、if(flag==1)はflagが、1ならばの意味ですから、意味が異なります。このサイトだと、見えずらいのですが、一つのイコールと2つ連続したイコールの意味です。

-MovieClip側:最終フレームに、
this.stop();
_root.flag=1;//この場合は、this._parent.flag=1;でもいいです。

投稿日時 - 2009-11-18 14:54:29

お礼

回答ありがとうございます。

無事これでやりたいことができるようになりました。

ただ、actionscript3.0から_root.が廃止されたそうでthis._parent.flagをつかったところ無事できました。本当にありがとうございました。

投稿日時 - 2009-11-19 08:10:06

あわせてチェックしたい
  • ムービークリップ再生順序 制御について ...
  • ActionScriptでアナログ時計 ...
  • Flash,As3でムービークリップのタイムラインの読み込み(移動?) ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら