• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ドラッグしたときの当たり判定)

ドラッグしたときの当たり判定

このQ&Aのポイント
  • ParaFlaを使ってFlashを制作していますaというスプライトをドラッグしbというスプライトにぶつかったらラベルCに飛ぶというものを作りたいのですがうまくいきません
  • aに記述しているアクションスクリプトはドラッグができますがbとぶつかっても何も起こりません。バージョンはSWF8です
  • どこを変更すればよいかわかる方に助言を求めます

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

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

ParaFla! は操ったことがあまりありませんし, 実際の動作検証もしていませんが。 onClipEvent (enterFrame) { if(this.hitTest(_root.b) == true) { this.gotoAndPlay("c"); } これでは, これを書いたムービークリップ内のタイムラインが, ラベルc に進んで再生されますよ。 > bというスプライトにぶつかったらラベルCに飛ぶ そもそも c と C が入り乱れていますが, とにかく, どのタイムラインの ラベルc(またはラベルC) に進ませたいのでしょうか? _root の ラベルc(またはラベルC) でしたら this._parent.gotoAndPlay("c"); (または this._parent.gotoAndPlay("C");) や _root.gotoAndPlay("c"); (または _root.gotoAndPlay("C");) のようにすべきでしょう。 --- --- --- しかし,さらに, onClipEvent (enterFrame) {} はどういう意味かご存じでしょうか? 毎フレーム毎フレーム {} 内が実行されますよ。 そのスクリプトを書いたスプライトが b と接触している限り, 毎フレーム毎フレーム ずっと _root.gotoAndPlay("c"); などが実行されます。 つまり ラベルc(またはラベルC) のフレームに行き続けます。 ラベルc(またはラベルC) のフレームに行き続けるということは, その先のフレームに進めないということです。 _root などに フラグ となる変数などを用意して, その フラグ となる変数 の値を 例えば false にしておいて, フラグ となる変数 の値が 例えば false の時に限って そのスクリプトを書いたスプライトが b と接触した瞬間に _root.gotoAndPlay("c"); などを実行させ, 即, フラグ となる変数 の値を 例えば true にするなどの工夫が必要です。

niyora
質問者

お礼

cとCが入り乱れているなど紛らわしい書き方してしまい 申し訳ありません 同じタイムライン上だったのでthisと記入していましたが _rootにしてもthis._parentにしてもやはり飛びませんでした onClipEvent (enterFrame) のこともよく知らずに使っていたので 変数を用意して一度飛んだらtrueにするようにもしてみたのですが どうしてもcには飛んでくれませんでした 教えていただいたことを踏まえてもう少し色々やってみます 回答ありがとうございました

関連するQ&A