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

このQ&Aのポイント
  • 「シーン1」にムービークリップ「MC01~10」を作成し、次のムービークリップに移動して再生したいが思うように動かない。
  • 使用しているのはAdobe Flash CS3 Progessional、Vista。
  • 初心者のため、説明不足・意味不明な表現がある。
回答を見る
  • ベストアンサー

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

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

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

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

  • ベストアンサー
  • 15mm
  • ベストアンサー率65% (65/100)
回答No.1

まず、nextFrame(*)について... ご察しのように、誤っております。 「次の」フレームに飛ぶ、という命令ですので、引数によりジャンプ先の指定はできません。 では、回答のほうに入ります。 「_root.nextFrame();で指定すると」ということは、 _rootの 1フレーム目にMC01、2フレーム目にMC02、・・・ といった感じでしょうか?(違うのであれば以下の文章は読むに値しません) _root.nextFrame();によって次のフレームに飛んだだけでは、 そこにMCを最初のフレームの状態で配置されます。 _root.mc##.gotoAndPlay(*);では、 MC##が現在のフレームで配置されておらず、 存在していないMCに対して処理するわけですから、うまくフレームを呼び出せません。 _root.nextFrame(); _root.mc##.gotoAndPlay(*); のように2つ並べるだけでOKです。 nextFrameでMC##が配置された状態でそのMCに処理できるようになります。 勝手な妄想の世界で喋っていなければよいのですが・・・^^;

penguin123
質問者

お礼

動きました!動きました!! 大変助かりました。 本当にありがとうございました!

関連するQ&A

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

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

  • 【action script】複数のMCを・・・

    環境:Flash8 actionscript2.0 10こ程度のムービークリップをそれぞれクリックした時に同じ動きをさせる文を1つにまとめることは可能でしょうか? ムービークリップそれぞれに mc1 mc2 mc3 …mc10 とインスタンス名をつけています。 さらにその下位層に mc1  └kai_mc mc2 └kai_mc ・ ・ ・ mc10 └kai_mc と置いています。 このそれぞれのムービークリップをクリックした際、その下位層のムービークリップを次のフレームに移動させたいと考えています。 それぞれ個別に書くと _root.mc1.onRelease=function(){ _root.mc1.kai_mc.nextFrame() } と書いていたのですが、ムービークリップの数を増やすかも知れずムービークリップの数分書くのは大変なので1つにまとめたいと考えています。 自分で以下のように書いてみました。 i=0 for(i=1; i>10; i++){ _root["mc"+i].onRelease.function(){ _root["mc"+i].kai_mc.nextFrame() } } うまくいかないので試行錯誤したりtraceで調べたりしたのですがどうもよくわかりません。 i=0 for(i=1; i>10; i++){ _root["mc"+i].onRelease.function(){ trace(i) } } で出力すると 11と表示されるのでpassが違うとは思うのですが・・・ iを1~10で指定しているのになぜ11となるのでしょうか? どうすればpass指定できるのでしょうか? そもそものやり方、考え方が違うかどうかも含め、教えて頂きたく質問しました。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • 【AS3】ムービークリップからステージへアクセスできません

    はじめまして。FlashでAction Script3.0を勉強し始めたばかりの初心者です。 実は、AS3でどうしても不明な部分があり この度問い合わせさせていただいております。 AS2では_rootでステージにあるムービークリップにアクセスできたかと思うのですがAS3では代わりのものはあるのでしょうか。 現在ステージ上にいくつかムービークリップを置いて、 それぞれのムービークリップ最後のタイムラインに、 「root.gotoandPlay("scene1")」というように記述して、 ステージにもどり、そのフレーム名から始めたいのですが(この場合、scene1というステージ上のフレームから再生させたい) 「未定義である可能性のgotoAndPlayメソッドを静的型flash.display:DisplayObjectContainerの参照を使用して呼び出しました」というエラーになってしまいます。 外部クラスなどは使用しておらず、 ライブラリに格納してあるムービークリップをステージに配置し、 初めのムービークリップを再生したら、次のムービークリップを再生、、というふうに順々に表示させていきたいのですが・・ アドバイスをいただけると大変助かります!! よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • attachMovieがうまくいかなくて困ってます

    はじめに、ミサイルのイメージが飛んでいく"MC"というムービークリップを作成して、それを onClipEvent (mouseDown){    _root.attachMovie("MC","MC",1); } でレイヤー上に作成すると、MCのモーションが1フレーム目を飛び越えて2フレーム目から始まってしまいます。 MCは10フレームで終わり、繰り返し再生されるのですが2週目からはきちんと1フレーム目から始まります。 そのせいで、1発目と2発目以降のミサイルの発射位置がずれてしまいます。 どうすれば1発目もきちんと1フレーム目から再生できるのでしょうか? どなたか教えてください。

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

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

    • ベストアンサー
    • Flash
  • ボタンシンボルから、上の階層のムービークリップへの指示。

    flash初心者です。 mc_01の中にmc_02があり、その中に配置してあるボタンを押すと、mc_01と同じタイムラインにあるmc_Aの2フレーム目が再生されるようにしたいのですが。。パスに気をつけてgotoandplayアクションを書いてもうまくいきません。(ちなみに全体がまたひとつのムービークリップになっています。) 何かの本で、複雑なアニメーションになると、下位から上位にアクションを指定しようとしてもうまくいかない場合があるのでfunction機能を使うと良いと書いてあったような気がします。 わかる方、どうかよろしくお願い致します!

    • ベストアンサー
    • Flash
  • ムービークリップ再生順序 制御について

    はじめて質問します。Flash初心者ゆえつたない説明ですいませんが、よろしくお願いします! Flash:ActionScript2.0 [現状] メインフレームにABCというムービークリップを配置しています。 それぞれ「mc1」「mc2」「mc3」というインスタンス名がついています。 各ムービークリップにはそれぞれ動きが設定しており、”moving”というフレームラベルをつけています。 [どう動作してほしいか] まずAのムービークリップが再生。Aのムービークリップ再生終了。 ↓ Bのムービークリップ再生開始。Bのムービークリップ再生終了。 ↓ Cのムービークリップ再生開始。Cのムービークリップ再生終了。 ↓ Aに戻る。 上記の動きをタイムラインを利用するのではなく、メインフレームに1つactionScriptを書くことで動作させるにはどうしたらいいでしょうか? ちなみに今は以下のように記述しており、実行すると3つのムービークリップが全て同時に動いてしまいます。 var list:Array = new Array(); for(var i=1; i < 4; i++) { var mcname = "mc" + i ; list[i] = eval(mcname); list[i].gotoAndPlay("moving"); } よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • ムービークリップ内のボタン

    フラッシュ初心者です。 アクションスクリプトがうまく動かず困っています。 シーン1にムービークリップ1(インスタンス名:mc1)とムービークリップ2(インスタンス名:mc2)が置いてあります。 mc2の中にはボタンAを配置してあり、ボタンAをクリックすると、mc1のフレームラベル(B)に飛ぶような制御をしたいです。 ボタンAに記述してあるスクリプトは以下です。 on (release) { this._parent.mc1.gotoAndplay("B"); } しかしクリックしても全く動きません。 絶対パスで指定してもダメでした。 ちなみに、ためしに、mc1ではなく、シーン1上のフレームラベルに 飛ばすように記述したら普通に動きました。。 何か記述間違いがあるのでしょうか? 分かる方がいましたら教えてください。 お願いします。

  • loadMovieで外部swfの読込みについて

    現在、外部swfを連続で再生させるフラッシュを作成中です。 以下の方法で実現しています。 ------------------------------------------------- 親SWFの_rootに,例えば「loadMC」というインスタンス名のムービークリップを作ります。 このMCは小さくて透明のMCか,中に何も入っていない空のMCが良いと思います。 そして,親SWFのフレームのスクリプトに _root.loadMC.loadMovie("movie1.swf"); と書けば,「loadMC」というインスタンス名のムービークリップに「movie1.swf」が読み込まれます。 またはボタンにスクリプトを書いて,ボタンで読み込みをさせても良いです。 そして,「movie1.swf」の最終フレームに, _root.loadMC.loadMovie("movie2.swf"); と書いておきます。これで同じ「loadMC」に「movie2.swf」が読み込まれます。 同じ所に新たなムービーを読み込むと自動的に前のムービーは unload されるので, unloadMovie(); は必要ありません。 「movie2.swf」の最終フレームには _root.loadMC.loadMovie("movie3.swf"); 「movie3.swf」の最終フレームには _root.loadMC.loadMovie("movie4.swf");   …  … ------------------------------------------------- 作成後のプレビュー又はswfをダブルクリックなどで直接表示させると正常に表示されます。 しかし、HTMLに埋め込むと真っ白な状態でまったく表示されません。 調べているのですが原因がわかりません。 どなたかご教授のほど宜しくお願い致します。

    • ベストアンサー
    • Flash
  • ._widthと.widthの違い

    AS2.0で次のように空のムービークリップを作成して、そのサイズをフレームごとに変えたいと思っています。 _root.createEmptyMovieClip("mc", 1); _root.mc.width = 50; _root.mc.height = 50; _root.onEnterFrame = function(){ _root.mc._width += 10; _root.mc._height += 10; }; しかしこのようにすると、._widthと.widthを両方使ってしまいます。 そもそも、この二つの違いは何なのでしょうか?

    • ベストアンサー
    • Flash

専門家に質問してみよう