- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:unloadMovie();でMCが消えない)
unloadMovie()でMCが消えない
このQ&Aのポイント
- ロールオーバーした時リンケージを設定している画像を表示して、ロールアウトで画像を消すボタンを1つの画面にたくさん置くflashを作っていますが、うまく動かず困っています。
- on(rollOut){ namearea.unloadMovie(); }の部分が上手く動かず、ロールオーバーで表示された画像がロールアウトしてもずっと表示されてしまいます。
- インスタンス名を変数にしているのは、このようなボタンが沢山あるので、一箇所の修正で表示させる画像を替えれるようにしたかったので、このような形にしています。winXPでflash MX(ver.6)を使用しています。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
var namearea="name-"+area; としていますので、nameareaはString:文字列ですので、 namearea.unloadMovie(); unloadMovieメソッドを持ちません。 文字列からmcを特定するには、 this[namearea].unloadMovie() や this[namearea].removeMovieClip() のように、配列アクセス演算子で取得するか、 unloadMovie(namearea) や removeMovieClip(namearea) のように、引数が文字列の場合でも処理してくれるのを利用するのがいいです。 余計なお世話ですが、on(rollOver)を小分けに書いている理由がないのならまとめたほうがいいです。
お礼
ご回答ありがとうございます。 こちらの修正で思う通りに動きました。 そもそも名前の付け方が間違っていたのですね。 こちらのflash以外にもいろいろと応用できました。 また、アドバイスいただきましたon(rollOver)も修正しました。 動いていてもよく分かっていないところが多々あるので勉強したいと思います。 ありがとうございました。