• ベストアンサー

レイヤーをドラッグ&リンクしたい

http://hfm-kenchan.com/Lesson/log_qa/D0507204.htm の「depths0.fla」を使ってレイヤーがドラッグできるFlashを作っています。 2回クリックしたときgetURLでページにリンクさせたいのですが、 なかなかうまくいきません。 どのようなアクションスクリプトをつかったら いいでしょうか? 教えてください。

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.2

#1です。 大変遅くなりました。 >ちなみに他のレイヤーが選択されたとき、 >前の選択されたレイヤーのカウントを >0にする事なんてできるのでしょうか?? #1 で書くのを忘れていたのですが, レイヤーの選択などそもそもできません。 ドラッグしているのはムービークリップです。 this.startDrag(); と this.stopDrag(); の this はボタンが配置してあるムービークリップです。 また, // 変数 count の値を 0 にしておく count = 0; の変数 count が格納されている場所もムービークリップです。 決してレイヤーではありません。 レイヤーをドラッグしているなどと思うといつまで経っても解決しないと思います。 ですから, たとえばドラッグするムービークリップが2つあるのでしたら, それぞれにインスタンス名を付けます。 インスタンス名は,ムービークリップを選択した状態で下の(Flash5以外はステージの下側にある)「プロパティインスペクタ」で命名します。 たとえば 「dragMC1」 と 「dragMC2」 というインスタンス名を付けます。 そして, 「dragMC1」ムービークリップ内のボタンには, // ボタンを押したとき on(press){ // 「dragMC2」内の変数 count を 0 にする _root.dragMC2.count = 0; } などというスクリプトを付け足すと (付け足すのは _root.dragMC2.count = 0; だけですよ), _root にある dragMC2 内の変数 count の値が 0 になります。 「dragMC2」ムービークリップ内のボタンでしたら, _root.dragMC1.count = 0; を付け足すということになります。 ・レイヤーは選択もドラッグもできない。 ・ムービークリップにはインスタンス名を付けてその中の変数を他のボタンから変える ということです。

go_and_goes
質問者

お礼

お礼が遅れてスミマセンでした! 追加の質問にもお答えいただいて大変助かりました! 解決できそうです。

その他の回答 (1)

  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.1

不必要にややこしいサンプルをお使いですね(Flash5 らしいと言えば 5 らしいかもしれませんが...それにしても...)。 > 2回クリックしたときgetURLでページにリンクさせたいのですが、 ボタンをクリックしたときに数を1,2とかぞえて, 数が2になれば getURL すれば良いだけのことではないでしょうか。 例えば A というムービークリップをダブルクリックするなどしてそのタイムラインの中に入りますと, レイヤーが  文字  ボタン の2レイヤーになっていますが, さらにスクリプトを書くためにレイヤーを新規で挿入します。 そのレイヤーのフレーム1に次のように書きます。 // 変数 count の値を 0 にしておく count = 0; これは Flash MX 2004(FlashPlayer7)以上用ための念のための対策です。 Flash 5 では未定義の変数の値は勝手に 0 になるので, 特にこれを書く必要はありません。 そして,ボタン と命名されたレイヤーのロックを解除して, そのレイヤーに置いてあるボタンを選択し,現在, on (release) {     this.stopDrag(); } となっている部分を次のように書き替えます。 on (release) { this.stopDrag(); // 変数 count に 1 を加算( count = count+1; と同じ意味) count++; // もし 変数 count が 2 と等しくなれば if (count == 2) { // どこかのページに getURL getURL("どこかのページのURL"); } }   

go_and_goes
質問者

補足

BlurFiltanさんありがとうございます! なんとか理解し、出来ました! ちなみに他のレイヤーが選択されたとき、前の選択されたレイヤーのカウントを0にする事なんてできるのでしょうか??

関連するQ&A