ボタンで制御するフェードインフェードアウトするmcの動作

このQ&Aのポイント
  • 動きを伴うフェードインフェードアウトするムービークリップをボタンで制御したい。
  • 四角形のムービークリップを透明度0から100になりつつ移動させたい。
  • ボタンを押した時にはじめて動きを出したいが、別のボタンを押した時には消えてから同じ動きで出てくるようにしたい。
回答を見る
  • ベストアンサー

動きを伴うフェードインフェードアウトするmcをボタンで制御したい

4つ前の質問と類似するのですが、四角形のムービークリップを透明度0から100になりつつ移動させたいと思っています。 単純に制御だけするなら onClipEvent (load) { function move() { dx = 10; // x方向の移動量 dy = 0; // y方向の移動量 time = 0; // 時間カウント用 } } onClipEvent (enterFrame) { function move2(){ // 毎フレームごとに移動量を増やしていく dx *= 0.9; dy *= 0.9; // 毎フレームごとに移動量を座標に足しこむ _x += dx; _y += dy; } } で動作したのですが、ボタンを押した時にはじめてこの動きを出したいと思っています。 そこで onClipEvent (load) { function move() { dx = 10; dy = 0; _alpha = 0; time = 0; } } onClipEvent (enterFrame) { function move2(){ dx *= 0.9; dy *= 0.9; _alpha += 5; _x += dx; _y += dy; } } と書いて、ボタンには on(release){ this.player.move(); this.player.move2(); } と書いたところ、それぞれの動きが別になってしまいました。 また、他のボタンを押したときはこれと逆に消えていく動きのあとにこれと同じ動きで四角形が出て来てもらいたいのですがどのようにしたらよろしいでしょうか?どなたかおわかりになる方教えていただきたいです。宜しくお願いします。

  • Flash
  • 回答数3
  • ありがとう数4

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.3

#1です。 switch文などを使っても, ダラダラとスクリプトが縦に長くなるだけでしょう。 初心者であるのでしたら, 単純に, // _root.flag が 2 で なおかつ player1 の座標が 1 以下 // (player2 は飛ばして) // なおかつ player3 の座標が 1 以下 … // なおかつ player12 の座標が 1 以下 if (_root.flag == 2 && _root.player1._x <= 1&& _root.player3._x <= 1&& … && _root.player12._x <= 1) { などとまず考えるべきです。 また,これで一応できます。 「なおかつ (&&)」 の書き方もちゃんと提示してありますよね。 それを使えば良いのです。 以上が最も初心者向けな回答だと思います。 横長になるのがいやであれば, もっと合理的な方法を考えるのが一番でしょう。 考えて実現することが一番良い方法です。 プログラミングは基本的に覚えるものではありません。 「この場合はどうするのだろう?」 と思うより, 「この場合はどうしよう?」 とまず考えないと先に進めません。 > 環境はflash mx2004です。 そうでしたか。 それでは,Flash MX 以上で使えるようになった, フレームに何でも書いてしまう方法例を "別法として" 書いておきます。 こういうときに, 共有の function を用意したりすると便利になるのです。 (今回も別にユーザ定義関数を使うわけではありませんが)。 動かす player は, 「player1」~「player12」を用意します。 それぞれの player を動かすためのボタンにもインスタンス名を付けます。 「move1_btn」~「move12_btn」 と付けたとしておきます。 その, 「player1」~「player12」や 「move1_btn」~「move12_btn」 が存在する, _root の フレームに書くスクリプトです。 //////////////////////////////////////////////////////// // スピードの設定(※可変) var spd = 1/8; // ムービークリップの個数を指定(※可変) var MCNum = 12; // 変数 flag の初期化 var flag = 0; // player1 ~ MCNum の初期化 for (i=1; i<=MCNum; i++) { // 全て透明に そしてx座標を0にする _root["player"+i]._alpha = 0; _root["player"+i]._x = 0; } // // ------ // _root.onEnterFrame = function() { // sum_x の初期化 sum_x = 0; // player1 ~ MCNum の座標合計を算出 for (i=1; i<=MCNum; i++) { sum_x += +this["player"+i]._x; } // // 座標合計が 2 以下 または // flag 番号 のムービークリップ の x座標 が 1 以上であれば if (sum_x<=2 || this["player"+flag]._x>=1) { // flag 番号 のムービークリップを x=90 に近づける this["player"+flag]._x += (90-this["player"+flag]._x)*spd; // アルファ を 100 に近づける this["player"+flag]._alpha += (100-this["player"+flag]._alpha)*spd; } else { // それ以外 for (i=1; i<=MCNum; i++) { // flag 番号 のムービークリップを x=0 に近づける this["player"+i]._x += (0-this["player"+i]._x)*spd; // アルファ を 0 に近づける this["player"+i]._alpha += (0-this["player"+i]._alpha)*spd; } } }; // // ------ // move1_btn ~ move(MCNum )_btn の動作定義 for (i=1; i<=MCNum; i++) { // 各ボタンの固有値変数 n の設定 _root["move"+i+"_btn"].n = i; _root["move"+i+"_btn"].onRelease = function() { _root.flag = this.n; }; } //////////////////////////////////////////////////////// 以上です。 「player1」~「player12」や 「move1_btn」~「move12_btn」 にスクリプトを書く必要は全くありません。 全ては,_root のフレームで定義します。 こうすれば1つ1つのムービークリップなどにほとんど同じスクリプトを書き続ける必要がなくなり, 面倒くさくなくて良いのです。 また書き替えミスも防げますし,容量も削減できます。 しかし,初心者的ではありませんね。 コピペして「できた」で終わってしまう可能性もあります。 私はそれでもかまいませんが,進歩しませんよ。 ですから, できれば,最初に書いた // _root.flag が 2 で なおかつ player1 の座標が 1 以下 // (player2 は飛ばして) // なおかつ player3 の座標が 1 以下 … // なおかつ player12 の座標が 1 以下 if (_root.flag == 2 && _root.player1._x <= 1&& _root.player3._x <= 1&& … && _root.player12._x <= 1) { のスクリプトを使ってなんとか作って, あとは考えるのが一番だと思います。 文を短く書くとか, function を定義するとか, そんな小手先のことはどうでも良いのです。 まずは動くように自分で考える。 動いてから余裕があれば,スクリプトを合理的にまとめる。 そういうことが大切です。  

apollongerZ
質問者

お礼

お返事が遅くなって申し訳ありません。 丁寧な説明ありがとうございました!頑張って勉強していきます!!

その他の回答 (2)

noname#35109
noname#35109
回答No.2

#1です。 > 四角形が再び出てくると10pxほど右にずれた位置で静止します。。 > なぜでしょうか?? わかりません。 そうなる原因がわからないというのではなくて, 同じ物を再び最初から作り直して, スクリプトをコピペしなおしてもそうならないので, わからないということです。 出てくるときは,必ず,  // 初期座標に設置  _x = myx;  _y = myy; の部分を通りますから, 初期位置は元の位置にもどるはずです。 元の位置がおなじであれば, そこから dx = 10; が 0.9 ずつ減って行く量は同じになるので, 同じ位置で止まる(実際には止まりませんが止まったように見える)位置は同じはずです。 そのつもりで書いていますし, 実際に作っても書いたとおりになりますし, このサイトのページに書いたものをコピペしても結果は同じでしたよ。 /////////////////////////////////////////////////// > 例えばボタンAをクリックしてフェイドインしてきたplayerが > X座標90以下0未満の位置にあるときに > ボタンBをクリックすると、 > playerはフェイドアウトしながら > 一度X座標0に戻る。 > その後同じ幅、高さの四角形のムービークリップで > 内容の違うplayer2がX座標90の位置まで > フェイドインしてくる。 「X座標90以下0未満の位置」と書かれていますが, おそらく, 「X座標90以下0より大きい位置」の書き間違いでしょうね。 #1 で書くべきでしたが, ご使用の Flash の バージョンは何なのでしょうか。 どうもしっくり来ない書き方をされているのは, Flash 5 を使われているのかもしれないと思いました。 それなら, enterFrame を,ムービークリップ自体に onClipEvent (enterFrame) の形で使用するしかないので, ついでに,ムービークリップ自体に複雑な function などを定義する理由もわからいことはありません。 というわけで, ご使用の Flash の バージョンが,Flash5 であるという条件で, Flash 5以上のバージョンならどれでも使用できるように書きます。 x座標の初期位置は 0 で, 最終到達目標が 90 なのですよね。 それでしたら, 根本的にスクリプトを変えた方が良いと思います。 もっと簡単になります。 インスタンス名 「player1」 というムービークリップに書くスクリプト↓。 -------------------------------------------- onClipEvent (load) { // スピードの設定(※可変) spd = 1/8; // このムービークリップのアルファを 0 に this._alpha = 0; } // onClipEvent (enterFrame) { // _root.flag が 1 で なおかつ player2 の座標が 1 以下のとき if (_root.flag == 1 && _root.player2._x <= 1) { // x=90 に近づける this._x += (90-this._x)*spd; // アルファ を 100 に近づける this._alpha += (100-this._alpha)*spd; } else { // それ以外は x=0 と アルファ を 0 に近づける this._x += (0-this._x)*spd; this._alpha += (0-this._alpha)*spd; } } -------------------------------------------- インスタンス名 「player2」 というムービークリップに書くスクリプト↓。 -------------------------------------------- onClipEvent (load) { // スピードの設定(※可変) spd = 1/8; // このムービークリップのアルファを 0 に this._alpha = 0; } // onClipEvent (enterFrame) { // _root.flag が 2 で なおかつ player1 の座標が 1 以下のとき if (_root.flag == 2 && _root.player1._x <= 1) { // x=90 に近づける this._x += (90-this._x)*spd; // アルファ を 100 に近づける this._alpha += (100-this._alpha)*spd; } else { // それ以外は x=0 と アルファ を 0 に近づける this._x += (0-this._x)*spd; this._alpha += (0-this._alpha)*spd; } } -------------------------------------------- インスタンス名 「player1」 というムービークリップを出すボタンに書くスクリプト↓。 -------------------------------------------- on (release) { _root.flag = 1; } -------------------------------------------- インスタンス名 「player1」 というムービークリップを出すボタンに書くスクリプト↓。 -------------------------------------------- on (release) { _root.flag = 2; } -------------------------------------------- このようにすると,できると思います。

apollongerZ
質問者

お礼

ありがとうございます!! できました!! しかし、実は使用するボタンは2つではなく、全部で12個あるのです。 その場合、 player1は if (_root.flag == 1 && _root.player2._x <= 1) player2は if (_root.flag == 2 && _root.player1._x <= 1) の部分を変える必要があると思うのですがどのように定義したらよろしいでしょうか? switch文でcaseを定義するなどすればいいのかな?とも思いましたがやり方がよくわからず…申し訳ありません。 環境はflash mx2004です。スクリプト初心者でご迷惑をおかけしております。お教えいただけると大変助かります。 宜しくお願いいたします。

noname#35109
noname#35109
回答No.1

> 単純に制御だけするなら  ~ 省略 ~ > で動作したのですが、 意味不明です。 動作するわけがないと思いますよ。 関数を定義しているだけですからね。 function は, ユーザー定義関数を "定義する" ときに使うものです。 onClipEvent (load) 内の function だけなら, まだ意味がわかりますが(あまり意味はわかりませんがわかると言えばわかります), なぜ, onClipEvent (enterFrame) 内でも function を定義する必要があるのでしょうか? onClipEvent (enterFrame) は1フレーム進時間ごとに毎回実行されるのですから, 12fps だと,1秒間に12回実行されます。 1秒間に12回も同じ関数を定義する必要はどこにもないと思います。 ユーザー定義関数の定義は,普通,1回だけで十分です。 それと, moveは,既存のメソッドにありますから(コンポーネントですが), ユーザ定義関数の関数名として使うにはよろしくないです。 「UIObject.move()」 http://livedocs.macromedia.com/flash/8_jp/main/00004202.html そもそも ユーザー定義関数を定義する必要性もわかりませんし, 何をどう修正すれば良いのか迷いますが, とりあえず,最初のスクリプトを修正すると, 次のようになります。 ---------------------------------- onClipEvent (load) { // ユーザー定義関数 move1 の定義 function move1() { dx = 10; dy = 0; _alpha = 0; time = 0; } // ユーザー定義関数 move1 の実行 move1(); // ユーザー定義関数 move2 の定義 function move2() { dx *= 0.9; dy *= 0.9; _alpha += 5; _x += dx; _y += dy; } } // onClipEvent (enterFrame) { // ユーザー定義関数 move2 の実行 move2(); } ---------------------------------- これで,一応は動作します。 次に, > ボタンを押した時にはじめてこの動きを出したい これと, > 他のボタンを押したときはこれと逆に消えていく動きのあとに > これと同じ動きで四角形が出て来てもらいたいのですが ですね。 こういう場合, ユーザー定義関数を使うと,ややこしく複雑になるだけの気がしますが, あえて使って書くと次のような感じになります。 ムービークリップ player に書くスクリプト↓。 -------------------------------------- onClipEvent (load) { // 初期座標を記録保存 myx = _x; myy = _y; // ユーザー定義関数 move1 の定義 function move1() { // 初期座標に設置 _x = myx; _y = myy; dx = 10; dy = 0; _alpha = 0; // フラグの値を1に設定 flag = 1; } // ユーザー定義関数 move2 の定義 function move2() { dx *= 0.9; dy *= 0.9; if (_alpha<100) { _alpha += 5; } else { _alpha = 100; } _x += dx; _y += dy; } // ユーザー定義関数 move3 の定義 function move3() { dx = -10; dy = 0; _alpha = 100; // フラグの値を2に設定 flag = 2; } // ユーザー定義関数 move4 の定義 function move4() { dx *= 0.9; dy *= 0.9; if (_alpha>0) { _alpha -= 5; } else { // アルファが 0 以下になったら move1 を実行 move1(); } _x += dx; _y += dy; } } // onClipEvent (enterFrame) { if (flag == 1) { // フラグが1であれば // ユーザー定義関数 move2 の実行 move2(); } else if (flag == 2) { // フラグが2であれば // ユーザー定義関数 move4 の実行 move4(); } } -------------------------------------- 押した時にはじめて動かすボタンに書くスクリプト↓。 -------------------------- on (release) { this.player.move1(); } -------------------------- 消えていく動きのあとに 同じ動きで四角形を出て来させるボタンに書くスクリプト↓。 -------------------------- on (release) { this.player.move3(); } -------------------------- ===================== こういうものの場合, ユーザー定義関数を定義して, その関数によっていちいち変数を定義し直したり, 動作を定義し直すより, 変数の値をボタンから変えるだけにする方がシンプルになような気もします。 ムービークリップ player に書くスクリプト↓。 -------------------------------------- onClipEvent (load) { // 初期座標を記録保存 myx = _x; myy = _y; // dx, dy の初期化 dx = 0; dy = 0; } onClipEvent (enterFrame) { dx *= 0.9; dy *= 0.9; if (_alpha<100 && flag == 1) { _alpha += 5; } else if (flag == 1) { // アルファが 100 以上になったら 100 で固定 _alpha = 100; } else if (_alpha>0 && flag == 2) { _alpha -= 5; } else if (flag == 2) { // アルファが 0 以下になったら _x = myx; _y = myy; dx = 10; dy = 0; _alpha = 0; flag = 1; } _x += dx; _y += dy; } -------------------------------------- 押した時にはじめて動かすボタンに書くスクリプト↓。 -------------------------- on (release) { this.player._x = this.player.myx; this.player._y = this.player.myy; this.player.dx = 10; this.player.dy = 0; this.player._alpha = 0; this.player.flag = 1; } -------------------------- 消えていく動きのあとに 同じ動きで四角形を出て来させるボタンに書くスクリプト↓。 -------------------------- on (release) { this.player.dx = -10; this.player.dy = 0; this.player.flag = 2; } -------------------------- どっちもどっちですかね。 一応,参考までにということで...。  

apollongerZ
質問者

お礼

丁寧な説明ありがとうございます。 早速試してみたところ、2点不明な点がありました。 ・消えていく動きのあとに同じ動きで四角形を出て来させるボタン 四角形が再び出てくると10pxほど右にずれた位置で静止します。。なぜでしょうか?? ・押した時にはじめて動かすボタン 消えていく動きのあとに同じ動きで四角形を出て来させるボタン 説明不足で申し訳ありません。 実はこのボタンはメニューとして使用を考えておりまして同列の役割にしたいと思っています。 例えばボタンAをクリックしてフェイドインしてきたplayerがX座標90以下0未満の位置にあるときにボタンBをクリックすると、playerはフェイドアウトしながら一度X座標0に戻る。 その後同じ幅、高さの四角形のムービークリップで内容の違うplayer2がX座標90の位置までフェイドインしてくる。 その後またボタンAをクリックするとplayer2はフェイドアウトしながら一度X座標0に戻る。その後playerがX座標90の位置までフェイドインしてくる。 といった感じです。 恐れ入りますが、ご教授いただけると幸いです。宜しくお願いいたします。

関連するQ&A

  • MCのgotoAndPlay制御について

    今現在すごく初歩的なものを作っています。 まず、MCですが、1~10フレームは歩く動作、11~20フレームは座る動作 と言ったフレームで動作を表現したものです。 このMC内で1~10フレームを繰り返すようにgotoAndPlay(1)と10フレーム目に書きました。 そして、このMCに onClipEvent (load) { // スピードの初期値 spd = 5; } onClipEvent (enterFrame) { // spd ずつ右へ移動 this._x += spd; if(this._x>100){ spd = 0; this.gotoAndPlay(11); } } といったように A地点~B地点は歩いている動作をさせながら5ずつ移動させ、100まで来たら停止させ、 そのB地点では座る動作(MCの11フレーム目から)をスタートさせるようにしました。 しかし、実際はMCの11フレーム目で固まった状態です onClipEvent (enterFrame)なので当たり前なのは分かっているのですが、 他に方法が分かりません。 何かなるべく完結な方法はありますでしょうか?

    • ベストアンサー
    • Flash
  • ボタンをロールオーバーした時にMCを複製したい

    はじめまして、よろしくお願いします。 表題の通りですが、 ボタンをロールオーバーした時にMCを複製したいのですが、やり方がわかりません。 body(←ボタン名)を押した時に snow(←複製されるMC名)を噴射するような形にしたいです。 フレーム1に書かれたスクリプト------------------- for (count = 1;count<30;count ++) { snow.duplicateMovieClip("snow" + count , count ); } ----------------------------------------------- 複製されるMC(snow)---------------------------------- onClipEvent(load){ xposition = _root.body._x+75; yposition = _root.body._y+75; scale = Math.random()*30+10; speedx = 12-(scale+Math.random()*30+1)/5; speedy = 12-scale/5; this._x = xposition; this._y = yposition; this._xscale = scale; this._yscale = scale; } onClipEvent (enterFrame){ if(this._y>400){ this._y=yposition; this._x=_root.body._x+75; this._alpha = 100; } this._x+=speedx; this._y+=speedy; this._alpha = this._alpha-5; } ----------------------------------------------- 早急に解決しなくてはならなく、困っています。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • MCの~秒後に移動

    winXP flash ver8 を使用しています。 あるMCに下記のスクリプトで任意の箇所に移動するということをしていますが、これを30秒後とかに移動させるということは可能でしょうか。 よろしくお願いいたします。 onClipEvent (load) { targetX = 550; targetY = 30; } onClipEvent (enterFrame) { _x += (targetX-_x)/5; _y += (targetY-_y)/5; }

    • ベストアンサー
    • Flash
  • Flashでボタンをクリックするとフェードイン、フェードアウトする

    アクションスクリプト初心者なのですが、 スクリプトで、ボタンをクリックすると 現在のフレームのムービークリップがフェードアウトしながら、 次のページのムービークリップがフェードインする方法を ご存知でしたら、教えていただけないでしょうか。 ムービークリップがロードしたら、 フェードインするところまでは出来たのですが、 それだと、現在のムービークリップがフェードアウトしないので 困っています。 ムービークリップがロードしたら、 フェードインするスクリプトは、 onClipEvent (load) { _alpha = 0; } onClipEvent (enterFrame) { _alpha += 2; } と記載しております。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • mcの中のフレームラベルの移動

    初めまして。 当方初心者なので、よくわからないので、質問させていただきます。 外部にswfとしてフレームラベルの複数ついたものがあって、 それをmc(mcs_mc)で読み込みし、スクリプトで一定時間毎に mcに読み込んだ外部swfのフレームラベル(chapter1~chapter10)を移動させたいのですが、うまく動いてくれません。 どの用にしたらよいでしょう?よろしくお願いします。 onClipEvent(load){ this._lockroot = true; } onClipEvent(enterFrame){ setInterval( function(){ mcs_mc.gotoAndPlay("chapter2"); }, 1000); }

    • ベストアンサー
    • Flash
  • attachMovieしたmovieClipを動かすには?

    attachMovieで作ったmovieClipを動かすためには、どうすればよいのでしょうか? 下にあるスクリプトは変数var objに代入していますが、このobjを動かすための var obj=attachMovie("chugoku","ball1","0"); obj._x = 200; obj._y = 150; onClipEvent(load){ var div:Number = 0.3; var move_to:Number = 200; } onClipEvent(enterFrame){ move_to = 500; obj._x += (move_to-obj._x)*div; } loadとenterFrameはどのように記述すれば動かせるのでしょうか?

    • ベストアンサー
    • Flash
  • 立体回転運動 新たにボタンを作って一定角度だけ動かす

    お世話になります。 下記のプログラムは3Dのぐるぐる回るプログラムなのですが、 onClipEvent (load) { degree = 0; r = 100; centerx = 150; centery = 100; } onClipEvent (enterFrame) { radian = Math.PI/180*degree; this._x = centerx+r*Math.cos(radian); this._y = centery+r*Math.sin(radian)/2; this._xscale = this._yscale=this._alpha=this._y; degree += 5; } -------------------------------------------------------------------- それで、ここからなのですが、 onClipEvent (enterFrame) {  --省略-- degree += 5;  ↓ のところをまず削除して、新たにボタンを作って、そのボタンを押すと、 押すたびにある一定の角度分だけ円運動するようにしたいのですが、どうしたらいいんでしょうか? 単純にボタンを作って、 そこに on(release) { degree +=5; } と書いてもまともに動きません。 初心者なものなので、よろしくお願いします。 それと、このプログラムはムービークリップに記載されているのですが、出来たらルート画面のレイヤーにactionを作って、そこにスクリプトをまとめて書きたいと思うんですが、どうしたらいいんでしょうか?ムービークリップにインスタント名をつけて、上記のプログラムの前に、 ムービークリップインスタント名.onClipEvent (load) { --省略-- } ムービークリップインスタント名.onClipEvent (enterFrame) { --省略-- } としたら、フィールド名がありませんとエラーが出てしまいます。 長くなってしまいましたが、わかりずらい説明かとは思うのですが、重ねてよろしくお願いします。

  • onClipEvent(enterFrame)よりもフレームに書いたほうが良い?

    最近Flashでfunctionの使い方を勉強しています。 そこで思ったのですが、例えばあるキーが押されたときに動作を行なわせたい場合。ムービークリップにonClipEvent(enterFrame)で記述する方法とフレームにfunctionで記述する方法の2通りあります(もしかして他にも方法あったりします?)。 素人考えでは、例えばonClipEvent(enterFrame)にtrace文を書いた場合、ずっとtrace処理が行なわれますが、フレームに書いた場合はそのフレームが読み込まれた瞬間のみtrace処理が行なわれます。一見onClipEvent(load)のようですが読み込み後、たとえフレーム移動がそこでstopになったとしても、イベントハンドラによって処理を行なわせることは可能です。そう考えると、処理の軽さ的にはフレームに記述する方法の方が優れているのでしょうか? ムービークリップにonClipEvent(enterFrame)で記述する場合とフレームにfunctionで記述する場合、両者の長所・短所も合わせて紹介していただけると助かります。 以上になります。よろしくお願いします。

  • ランダムな動きのスピード制御(Flash)

    スクリーンに小花をいくつか配置し、それがスクリーン上をゆらゆらと動くムービーを作りたいと思っています。 ランダムな動きの方が面白いので、本を見ながら下記の様なアクションスクリプトを小花の形のMCに書きました。 しかし、移動速度がものすごく速く、チラチラするだけで全然キレイじゃありません(ToT) どう言うスクリプトを書き加えれば、スピード制御できるでしょうか? onClipEvent(enterFrame){ this._x+=Math.floor(Math.random()*101-50); this._y+=Math.floor(Math.random()*101-50); }

  • flashのMCの中にMCを入れてその中のボタンでシーンを移動したいのですができません

    flashの シーン1で大元になる5つのMCで構成された大元のMCにはonClipEvent (enterFrame)のスクリプトを記述しています。 その5つのMCの中、それぞれに、ボタンがあります。そのボタンはシーン1からシーン2に飛ばすアクションをつけているのですが、まったく反応しません。 なぜか、同一シーンのフレーム移動は反応するのですが。ボタンの記述は下記です。 on (release) { _parent._parent.gotoAndPlay("work", 1);

    • ベストアンサー
    • Flash

専門家に質問してみよう