- ベストアンサー
どなたかマウスイベントとムービークリップの扱い方を教えてください。
現在、羽を羽ばたかす蝶(胴体、羽2枚で構成しています)を右から左へ移動させつつ、マウスを乗せたらそこで蝶が動きを止めて、ウィンドウ(動くのと同じ蝶が二匹ウィンドウを支えている)がゆっくり開く、というものを作ろうとしています。 蝶つきのウィンドウはムービークリップでつくれましたし、 on (rollOver) { this.gotoAndPlay("start"); } on (rollOut) { this.gotoAndPlay("end"); } という表記に加え、ラベルを使用することでウィンドウのマウスによる制御は一応できました。 ですが蝶の動きをとめることがどうにもできていません。 上のスクリプトになにがしか停止のための命令を加えたらよいのでしょうか? 正直質問があいまいですが当方初心者もいいところでして・・・ どなたか教えていただけたら幸いです。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> 蝶つきのウィンドウはムービークリップでつくれましたし、 > > on (rollOver) { > this.gotoAndPlay("start"); > } ということは, この this.gotoAndPlay("start"); の this は ムービークリップ内のタイムラインを示すわけですね。 > 羽を羽ばたかす動きを蝶のオブジェクトの下のそうで動かし、 > 移動はシーン1にモーションで仕込んでいます。 ということは, 「蝶つきのウィンドウムービークリップ」自体をモーショントゥイーンで動かしているというわけですね。 そうであるとするならば, 書かれていらっしゃるスクリプトを 次のように↓変更すれば良いかもしれません。 ---------------------------- on (rollOver) { this.gotoAndPlay("start"); this._parent.stop(); } on (rollOut,releaseOutside) { this.gotoAndPlay("end"); this._parent.play(); } ---------------------------- なお, モーショントゥイーンの間にキーフレームがあれば, 全てのキーフレームに同様のことを書く必要がありますが。 ムービーの構造がどうなっているのかわからないので何とも言えませんが, 場合によっては, this._parent._parent.stop(); や this._parent._parent.play(); かもしれません。 ターゲットパス http://homepage3.nifty.com/ginga-b/MX/targetpath.html
その他の回答 (2)
- zari514
- ベストアンサー率48% (26/54)
1です。 ムービークリップの構造が2さんが言われた形なら 2さんの回答で良いかと思いますが、1つ補足です。 ―――――――――――――――――――――――― モーショントゥイーンの間にキーフレームがあれば, 全てのキーフレームに同様のことを書く必要がありますが。 ―――――――――――――――――――――――― これは、正しくは ―――――――――――――――――――――――― モーショントゥイーンの間にキーフレームがあれば, 全てのキーフレーム の「蝶つきのウィンドウムービークリップ」 に 同様のことを書く必要がありますが。 ―――――――――――――――――――――――― です。
お礼
ご丁寧にありがとうございます。 初心者の私のあやふやな言い方に親切に答えてくださり感謝感謝です。
- zari514
- ベストアンサー率48% (26/54)
“動きをとめる”とは「羽を羽ばたかす」事ですか? 「右から左へ移動」の事ですか? それは、どういう方法で動かしてるんですか? (モーショントゥイーンでもスクリプトでも動かせます)
お礼
早速の回答ありがとうございます。 言葉が足りませんでしたよねすいません。 動き、とは右から左への移動のことです。 恐らくなにか間違ったことをしているのだとはおもうのですが、右から左へ動く蝶にマウスカーソルを合わせると、ウィンドウは開くんですが右から左への移動がとまらず、追いかけないと蝶が逃げていってしまう状態です。 モーショントゥイーンで動かしています。 羽を羽ばたかす動きを蝶のオブジェクトの下のそうで動かし、移動はシーン1にモーションで仕込んでいます。 これにウィンドウがゆっくり開く(モーションでα0>100>0 大きさ小>大)を作りました。 そんな状態でどんな形でスクリプトを仕込んだらうまく動くのか、試行錯誤中です。 最初、間違えて補足で送信してしまいました。 重複した内容になっていますが改めて御礼のほうから送信させていただきました。 ぜひご教授願えたら幸いです。
補足
早速の回答ありがとうございます。 言葉が足りませんでしたよねすいません。 動き、とは右から左への移動のことです。 恐らくなにか間違ったことをしているのだとはおもうのですが、右から左へ動く蝶にマウスカーソルを合わせると、ウィンドウは開くんですが右から左への移動がとまらず、追いかけないと蝶が逃げていってしまう状態です。 モーショントゥイーンで動かしています。 羽を羽ばたかす動きを蝶のオブジェクトの下のそうで動かし、移動はシーン1にモーションで仕込んでいます。 これにウィンドウがゆっくり開く(モーションでα0>100>0 大きさ小>大)を作りました。 そんな状態でどんな形でスクリプトを仕込んだらうまく動くのか、試行錯誤中です。
お礼
>「蝶つきのウィンドウムービークリップ」自体をモーショントゥイーンで動かしているというわけですね。 これに関しては、ウィンドウの中(シーン1の下の階層)に「ウィンドウムービークリップの動き(小>大とα)」を仕込んでいますが、蝶はその上にのっけてあるだけで羽の動きのみです。 つまるところスノーボードの上に羽ばたく蝶がとまっている感じというか・・・ >この this.gotoAndPlay("start"); の this は ムービークリップ内のタイムラインを示すわけですね。 で、そのgotoなのですが下の階層のウィンドウがおいてあるところに別レイヤーで ラベルをstart、endをつけてあります。 ウィンドウに連動している、? と思うのですが・・・ もうどうにも手探りなので抽象的な説明のしかたですいません。 とにかく教えていただいたスクリプトをためさせていただきますね。 ありがとうございます! (もしかしたらまたお聞きするかもしれませんが;)