• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:attachMovieがうまくいかなくて困ってます)

attachMovieがうまくいかない!ミサイルの発射位置がずれる問題の解決方法を教えてください

noname#35109の回答

  • ベストアンサー
noname#35109
noname#35109
回答No.1

原因は, _rootのマウスダウンしたフレーム(時間的フレーム)で, attachMovie が実行され, _root次のフレーム,つまり,ムービークリップで言う所の フレーム2 からムービークリップ内が再生されるため, フレーム1が見えないのだと考えられます。 対処法は, これでいかかでしょうか↓? ------------------------------- onClipEvent (mouseDown) { _root.attachMovie("MC", "MC", 1); updateAfterEvent(); } ------------------------------- updateAfterEvent 関数は, 「そのイベント終了と同時に,フレームの進行とは関係なく,即更新。」 という関数です。 「FPSについて」 http://hakuhin.hp.infoseek.co.jp/main/as/fps.html のページの, 4.setInterval関数で時間隔を設定 のあたりが参考になるでしょうか。

rusio
質問者

お礼

2回にわたって丁寧に回答してくださって感謝します。 おかげでうまくいきました!ありがとうございます。 No.2での○△□☆◎の解説がとてもわかりやすくて初心者の自分でもすぐ理解できました。 勧めてくださったupdateAfterEvent()の方法を使わせていただきたいと思います。 回答ありがとうございます。

関連するQ&A

  • FlashMXでattachMovieを_rootに複数セット

    お世話になります。 早速質問ですが、 ムービクリップを2つ作成しました。 それぞれ、a,bと名づけました。 識別子も同じ、a,bとしました。 これを、メインの1フレーム目の同じ レイヤに、 obj1=_root.attachMovie('a','a1',2); obj2=_root.attachMovie('b','b1',2); と書いたのですが、 obj2 しか、再生されないように見えます。 obj1の後に、obj2を動かしたいのですが、 どのようにすれば、良いのでしょうか? よろしくお願いいたします

  • 【新】超初心者です。思うように動いてくれません。

    たびたび申し訳ありません。勘違いがありましたので再投稿いたします。 下記の同タイトル質問はご放念ください。 「シーン1」にムービークリップ「MC01~10」を作成し、MC01から順に再生してゆくFLASHを作成しています。 それぞれのムービークリップの中に早送りボタン配置し、これを押すと次のムービークリップの指定したフレームに移動して再生してほしいのですが、思うように動いてくれません。 _root.mc##.gotoAndPlay(*); もダメでしたし、 _root.nextFrame(*); もダメでした。 (*=該当フレームの数) _root.nextFrame(); で指定すると、次のムービークリップの一番初めから再生はしてくれるのですが、 そのムービークリップ内の指定したフレームから開始したいのです…。 (そもそも、_root.nextFrame(*);が正しいのかどうかもよくわかっていません…) 使用しているのはAdobe Flash CS3 Progessional、Vistaにて作業しています。 まったくの初心者のため、説明不足・意味不明な表現がありましたらご指摘いただければと思います。 どうぞよろしくお願いいたします。

    • ベストアンサー
    • Flash
  • ムービークリップ再生後次のフレームへ移動しません

    アクションスクリプトを使って、テキストが下から上へ流れるようにムービークリップを再生し、テキストが流れ終わったところで次のフレームへ移動させたいのですが、フレームが移動せず困っています。 スクリプトは色々なところで調べて、やっとの事で下記のように書きました。 使用しているのはFlash MX 2004 です。 |○  □|○|  ←1.スクリプトレイヤー |●    □|  ←2.ムービークリップレイヤー |○|●→|●|  ←3.ムービークリップ後に再生したいレイヤー 1.のスクリプト(2つのキーフレームいずれとも) stop(); 2.のムービークリップのスクリプト onClipEvent (load) { spd =5; onClipEvent (enterFrame) { this._y = this._y-spd; if (this._y<=-10) { spd = 0; gotoAndPlay(2); } } 知り合いにお見舞いのメッセージをと思って作ったのですが、送ることが出来なくてとてもあせっています。 どうぞよろしくお願いします。

    • ベストアンサー
    • 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
  • FlashMX2004で、メインタイムラインで作成したモーショントゥイーンをシンボルにするやりかた

    Flashのメインタイムラインで作成したグラフィック(ムービークリップで作った蝶を、モーションガイドに沿っ舞っているシーン。20フレームで作成)をシンボルにするにはどうすればいいのでしょうか? 全てを選択して、右クリックのシンボルに変換をしても、モーションガイドで作成した線しか選択されなかったりします。 ■メインタイムライン上↓ レイヤー1に、蝶をモーショントゥイーンで20フレーム移動するシーンを作成。(※蝶は別ムービークリップで、2フレームでパタパタと羽ばたくシーンを作成済み) レイヤー2に、モーションガイドを作成。(20フレーム) この全てを選択して、ムービークリップ(シンボル)にしたいのですが、どうすればいいでしょうか? 教えてください。よろしくお願いします。 FlashMX2004 WindowsXP

  • 外部swfのフレームを指定して読み込み

    あるムービークリップ(mc1とします)に外部swf(001.swfとします) を読み込むことはできるのですが、 mc1に001.swfを読み込み、001.swfの50フレーム目から再生ということは可能でしょうか。 いろいろと調べたのですが、どうしてもうまくいきませんでした。 ボタンを作りボタンを押したら読み込み50フレーム目から再生という指示を書いたのですが、、、 on (press) { _root.mc1.loadMovie("top.swf"); _root.mc1.gotoAndPlay(50); } 1フレーム目から再生されてしまいます。

  • AS2 attachMovie 外部画像対応に

    AS2 attachMovie 外部画像対応にしたい <やりたいこと> AS2 attachMovieを利用して、複数画像を読み込むサンプルがあるのですが、 これを外部画像読込対応に変更したいです。 <知りたいこと> AS2 attachMovieで、外部画像を読み込む簡単なサンプルコードを 作成していただけないでしょうか? あるいは、下記内容を、どう修正すればよいでしょうか? <現状> ・画像は「image_1」「image_2」「image_3」って感じで、ムービークリップにして、ライブラリへ入れてます。 ・ステージ上に画像は、配置せず、変わりに、ムービークリップのリンケージ識別子を、それぞれ「image_1」「image_2」「image_3」としています、また、「ASに書き出し」「最初のフレームに書き出し」にチェックを入れてます <現状のコード一部> next_bottun.onPress = function() { if (image_maisu>next_i) {//イメージ枚数より選択イメージが少なかったら next_i += 1;//選択イメージを加算 var mc_name = "image_"+next_i;//識別子の名前を変更して change_mc(mc_name, syoki_sokudo);//切り替わり関数に送る } }; function change_mc(mc_name, syoki_sokudo) { i++;//IDを加算して var new_name = "image_"+i;//インスタンス名を設定 var syoki = {_alpha:0, i:i, sokudo:syoki_sokudo};//初期値を設定 _root.main.attachMovie(mc_name, new_name, i, syoki);//mainの中に生成する

  • attachMovieで同じ深度に新しいmcを生成

    as2.0です。 ライブラリにmc「go_next」があり、ステージには背景のmcがあります。 mc「go_next」はボタンの役割で、クリックすると背景のmcがスライドします。 次々とスライドさせて行きたいので、mc「go_next」をクリックするたびに新しいmcとして入れ替えたいので、attachMovieで同じ深度に生成してみたのですが、上手くいきません。 フレームに以下のように記述しました。 _root.attachMovie("go_next", "go_next_to2", 99); go_next_to2.onRelease = function() { _root.slidePos = 2; _root.attachMovie("go_next", "go_next_to3", 99); } go_next_to3.onRelease = function() { _root.slidePos = 3; _root.attachMovie("go_next", "go_next_to4", 99); } まず"go_next_to2"がステージに生成されています。 "go_next_to2"をクリックすると"go_next_to3"が生成され、"go_next_to2"は消えます。 (ここまでは成功しています。) 次にその"go_next_to3"をクリックして同様に"go_next_to4"に差し替えたいのですが、 "go_next_to3"がクリックできるようになりません。 同じ場所に差し替えたのだから同じ設定で繰り返せばいいかと思ったのですが・・ どうやったら次々と新しいmcに入れ替えていくことができますか? 教えて頂けたら嬉しいです。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 7秒後にフレーム5へ移動してムービークリップを再生

    はじめまして。 FLASH初心者です。 レイヤー1~5の5フレームごとにムービークリップを配置しています。 レイヤー1の1フレーム目に配置してあるムービークリップが再生されて、7秒後にレイヤー2の5フレーム目に配置してあるムービークリップを再生し、(レイヤー3~5も同様に…)レイヤー5に配置してあるムービークリップの再生が終わったら、また7秒後にレイヤー1のムービークリップが再生される…といったように繰り返すにはどのようなActionScriptにすればよいのでしょう? 色々、試行錯誤したのですがうまくいきません。 どなたか教えて頂けませんか? よろしくお願いします。

    • ベストアンサー
    • Flash
  • カーソルのカスタム

    flash ver.9 AS2.0 使用です。 カーソルを自分で制作したムービークリップ(MC)にする方法を教えていただきたいです。 MCに直接スクリプト onClipEvent (mouseMove) { _x = _root._xmouse; _y = _root._ymouse; } を書く方法は分かるのですが、 知りたいのは フレームアクションで制御する方法です。 多分、とても初歩だと思うのですが、よろしくお願いします。

    • ベストアンサー
    • Flash