つかんで放す

このQ&Aのポイント
  • ムービークリップ(MC)をクリックして掴んで移動させ、放すと動き出すアクションスクリプトの書き方が上手くいかない。
  • MCがクリックされるとポインタにくっついてしまう問題が発生している。
  • MCの動きの制御に関する変数とイベント処理が正しく設定されていない可能性がある。
回答を見る
  • ベストアンサー

つかんで放す

ムービークリップ(MC)に下記のアクションスクリプトASを記述しました。 右へMCが動いて行き、マウスでクリックすると掴み動かせるようになり、放すとまた動き出すというものになるはずなのですが、上手く行かずクリックするとポインタにくっついた状態になってしまいます。 ASの書き方に問題があるのでしょうか? ご教授いただきたくおもいます。 よろしくお願いします。 onClipEvent (load) {    this._x = 20;    this._y = 200;    Hspeedx = 1; //MCの速度    Hcatch = 0; //MCキャッチの時は1、そうでない時は0に } on (press) {    Hcatch = 1; //MCキャッチ    startDrag(this); } on (release) {    Hcatch = 0; //MCを放す    sotpDrag(); } onClipEvent (enterFrame) {    if (Hcatch == 1) {       Hspeedx = 0;    }    if (Hcatc == 0) {       Hspeedx = 1;    }    this._x = this._x+Hspeedx; }

  • Flash
  • 回答数1
  • ありがとう数1

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

  • ベストアンサー
  • JackB
  • ベストアンサー率33% (107/320)
回答No.1

stopDrag();がsotpDrag();になってますが、これが原因では?

goo2408
質問者

お礼

JackBさんご回答ありがとうございます。 単なるタイプミスだったですね。なんともお恥ずかしい。 上手くいかずに何時間もいろいろやってなんか嫌になるぐらいの気分だったのですが、、、、。 お手数掛けました。 書き込み感謝致します。 ありがとうございました。

関連するQ&A

  • ドラッグアンドドロップアンドスムーズ移動

    x:0,y:0の座標に置いてあるムービークリップを 好きな場所にドラックができて話した瞬間x:0,y:0の座標に戻るという スクリプトが書きたいのですが、戻り方をだんだんとスムージングしていくような形で戻したいと思います。 以下をうまく組み合わせて実行したいと思っています。 どなたかご教授お願いします。 on (press) { this.startDrag(); } on (release) { this.stopDrag(); } onClipEvent (enterFrame) { xpos = 0; ypos = 0; this._x += (xpos-this._x)/2; this._y += (ypos-this._y)/2; }

    • ベストアンサー
    • Flash
  • 遠隔操作できるボタン

    こんにちは、FLASH初心者です。 ある程度自力で調べましたが、諸事情から時間が差し迫っているので、質問させてもらいます。 Movie Clip "A" に以下のスクリブトを書き、 on (press) { this.startDrag(false,0,0,0,100); } on (release, releaseOutside) { this.stopDrag(); } onClipEvent (enterFrame) { _parent._parent.star_mc.xXYposition(this._y); } 別のオブジェクト“star_mc”に以下を書き込み、 onClipEvent (load) { nMinX = -80; nMaxX = 80; nDistX = nMaxX-nMinX; nMinY = -20; nMaxY = 140; nDistY = nMaxY-nMinY; nXbarLength = 100; nYbarLength = 100; function xXYposition(nX, nY) { star_mc._x = nMinX+nX/(nXbarLength/nDistX); star_mc._y = nMinX+nX/(nXbarLength/nDistX)+50; } } Aを上下にドラッグするとstar_mcが斜めに動くようにしました。 このstar_mcを「クリックすると別のフレームへ移動できる」ボタンにしたいのですが、Button Clip等を使ってみてもうまくいきません(ポインタを上に持っていくと、カーソルが変わりはするが、クリックしても何も起こらない)。 詳しい方解決法をご教授ください。

    • ベストアンサー
    • Flash
  • ドラッグしたときの当たり判定

    ParaFlaを使ってFlashを制作しています aというスプライトをドラッグし bというスプライトにぶつかったらラベルCに飛ぶ というものを作りたいのですがうまくいきません aに記述しているアクションスクリプト on (press) { this.startDrag (true); } - on (release,releaseOutside) { this.stopDrag (); } - onClipEvent (enterFrame) { if(this.hitTest(_root.b) == true) { this.gotoAndPlay("c"); } } - onClipEvent (mouseMove) { updateAfterEvent(mouse); } バージョンはSWF8です ドラッグはできるのですがbとぶつかっても 何も起こりません bには何も記述していません どこを変更すればよいかわかる方 よろしくお願いします

    • ベストアンサー
    • Flash
  • 移動に関するアクションスクリプトがわかりません

    あるムービークリップをクリックした時にX座標を0の位置にもっていきたいのですが、アクションスクリプトをどう書いたら良いのか分かりません。 瞬間的に移動するのではなくスーッという感じで動かしたいのです。 on (release){ this._x = 0} と onClipEvent(enterframe){ this._x += -2 } これを融合させたような感じにしたいのですが、書き方が分かりません。メインのタイムラインに動くフレームをつくりgotoAndPlay()で飛ばしても良いんですが、アクションスクリプトだけで作ることは不可能でしょうか?

    • ベストアンサー
    • Flash
  • マウスを追いかける

    ムービークリップがマウスを追いかけるというようにしたいのですが、追いかけるムービークリップが別のシンボルの中にあると座標がずれるようで、このずれをなくしたいのですがどのようにすればよいのでしょうか? 詳しくは、シーン1にシンボル(ただの図形と追いかけてほしいムービー:mc1)を置いて、mc1に下記のスクリプトを書きました。 -------------------------------------------- onClipEvent (load) { _root.mc1.startDrag(true); x = _root._xmouse; y = _root._ymouse; } onClipEvent (enterFrame) { _x += (_root._xmouse-_x)/4; _y += (_root._ymouse-_y)/4; } --------------------------------------------

    • ベストアンサー
    • Flash
  • 画像切り替えのアクションスクリプト

    3枚以上の画像を右と左に行くボタンで動かし切り替えて生きたいのですが、ちなみに画像の動き方はだんだん遅くなってとまるというのがベストです。 みようみまねでなんとか次のようにできたのですが、3枚以上はできません。 画像を横に並べて一枚にした画像をシンボルに変換し インスタンス名をpicにして次のスクリプトをそのムービークリップに書き込みました。 this._x = -200; this._y = 0; } onClipEvent (enterFrame) { if (flag==1) { dx = (0-this._x)/4; this._x += dx; } if (flag==0) { dx = (200+this._x)/4; this._x -= dx; } } なお、ボタンを2つ作成し、 on(release) { _root.pic.flag = 1; } と on(release) { _root.pic.flag = 1; }

  • ActionScript 2.0 再生・停止

    クリックで特定のムービークリップが再生・停止するスクリプトをAS2.0(ActionScript 2.0)で記述したいです。 現在はAS1.0で下記のようにムービークリップに記述しています。 これをAS2.0に直すとどのような記述になるでしょうか。宜しくお願いいたします。 onClipEvent (load) { mode = true; } on (release) { mode = !(mode); if (mode) { this.play(); } else { this.stop(); } }

    • ベストアンサー
    • Flash
  • ムービークリップの位置と角度の制御について

    スクリプト初心者です。 ●矢印の形をした、ムービークリップ(mc1)がステージ端まで移動すると跳ね返り、跳ね返る方向に向きを変えるスクリプトで悩んでいます・・。 ●ステージサイズ:400×300  シーン1、1フレーム目にmc1配置。 mc1をシーン1に配置の際、角度45度に。 mc1に下記スクリプトを書きました。 onClipEvent(load){     vx=5;     vy=5; } onClipEvent(enterFrame){ this._x += vx; this._y += vy; if (400 < this._x) { vx = -5; this._rotation=-135; } if (300 < this._y) { vy = -5; this._rotation=135; } if (this._x < 0) { vx = 5; this._rotation=-45; } if (this._y < 0) { vy = 5; this._rotation=45; } } ●ステージ端まで行くと矢印(mc1)が跳ね返る事は、出来たのですが、方向(回転角度)がうまく出来ませんでした・・。 自分でも、これでは、回転角度がうまく行かないと分かってはいるのですが・・。 どなたかお分かりの方おられましたら助けてください! よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • mcのx座標が50以上になったら次フレーム

    タイトルどおり、 mcのx座標が50以上になったら次フレーム という処理をしたく、 mcに次のアクションスクリプトを記述しました。 onClipEvent(enterFrame){ this._x += 10; } onClipEvent(load){ if(this._x >= 50){ nextFrame(); } } しかし何故か次のフレームに行ってくれません。 どこか間違っているのでしょうか。。。 nextFrame();をgotoAndPlay(2);にしても駄目でした。

    • ベストアンサー
    • Flash
  • onClipEvent の enterFrameとloadについて

    お世話になります。 幅500pxのステージに形だけのムービークリップを作り、 それに onClipEvent (enterFrame) { if (this._x<=100) { this._x = 250; } else { this._x = 300; } } と記述しました。 ステージ上でムービークリップのx位置を100px以下に配置したところ、300pxに移動してしまいます。 onClipEvent (load)に変更すると250pxになります。 なぜですか? よろしくお願いします。

    • ベストアンサー
    • Flash

専門家に質問してみよう