先読み画像を後で生成するMCの子MCに読み込ませるには?

このQ&Aのポイント
  • Flash Professional 8(win)でスライドショーを作成しています。数枚の画像を先読みし、後のフレームで画像の背景となるMCを作成し、子MCに先読み画像を割り当てる方法について教えてください。
  • 先読み画像を後で生成するMCの子MCに読み込ませる方法をFlash Professional 8(win)で実現したいです。具体的には、先読みした画像を背景となるMCに割り当てる子MCを作成し、サムネイルをクリックするたびに子MCの画像が変わるようにしたいです。
  • Flash Professional 8(win)を使用してスライドショーを作成しています。画像を先読みし、その後のフレームで背景となるMCを作成しました。どのようにすれば先読みした画像をMCの子MCに読み込ませることができるでしょうか?
回答を見る
  • ベストアンサー

先読み画像を後で生成するMCの子MCに読み込ませるには?

新年早々お世話になります。 Flash Professional 8(win)でスライドショーを作っていますが、以下のようなことをやろうと思っています。 [1]数枚の画像を先読み(先頭フレーム) [2]後のフレームで画像の背景となるMC(仮にインスタンス名:haikei)を作成。 [3]haikeiには子MC(仮にインスタンス名:koMC)をつくっておく。 [4]別途準備しているサムネイル画像を選択することで、haikei.koMCに任意の先読み画像が割り当てられる [5]クリックするサムネイルを変えるたびに、haikei.koMCの画像がサムネイルに対応する先読み画像に変わる。 これを実現するのはどのような方法がありますでしょうか? [1]で空のムービークリップを作ってloadClip()などでダーッと画像を読み込んだ後、haikei.koMCにこれをもっていくようにするのだと思うのですが、attachMovieでもないし。。 よろしくお願いいたします。

  • nasda
  • お礼率64% (11/17)
  • Flash
  • 回答数1
  • ありがとう数1

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

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

MovieClip.duplicateMovieClip() メソッドを使いたいところですがそれはできませんし, MovieClip.attachMovie() でもダメですよね。 でも, BitmapData.draw() メソッドと MovieClip.attachBitmap() メソッドを組み合わせて使えばできると思います。 流れは次のような感じです。 ロード用ムービークリップを作成し, MovieClipLoaderクラスのインスタンスを作成して loadClip でムービークリップに外部JPEGをロードする      ↓ BitmapDataクラスのインスタンスを作成し, イメージをロードしたMCを BitmapDataインスタンス のイメージ 上に写し取る [BitmapData.draw(ロード用ムービークリップ);]      ↓ ムービークリップに BitmapDataインスタンス を割り当てる(塗りつぶす) [MovieClip.attachBitmap(BitmapDataインスタンス, 深度);] この辺りを調べてみてください。

nasda
質問者

お礼

おー、ありがとうございます! BitmapDataクラスはこれまで使ったことがなかったので、ちょっと苦戦しましたが、おかげさまで無事目的が達成できました! 感動です。重ねまして御礼申し上げます。

関連するQ&A

  • attachMovieで生成したインスタンスへの文字代入

    FlashMX(AS1.0)を使用しています。 ダイナミックテキストを子にしたムービークリップのインスタンスをattachMovieで配置したのですが、ダイナミックテキストに文字列を代入しても文字のみが表示されません。 試しに、duplicateMovieClipでコピーした場合はダイナミックテキスト内の文字は表示されています。 スクリプトは以下のように組んでいます。 (略) 1:cnt++; 2:samp_mc = "tag"+cnt; 3:_root.attachMovie("sym_ln",samp_mc,cnt);//sym_ln...ダイナミックテキストを含んだシンボルのリンケージ 4:samp_mc.dymtxt = "123";//dymtxt...ダイナミックテキストの変数名 インスタンスを配置してもdymtxtに表示されません。が、 3:base_mc.duplicateMovieClip(samp_mc,cnt);//base_mc...ステージに配置したmcのインスタンス名 とすると表示されます。 attachMovieを使用してインスタンスを配置するようにしたいのですが、文字が表示されないのはどこに原因があるのでしょうか?

    • ベストアンサー
    • Flash
  • 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
  • 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で生成したインスタンスを消す方法

    1.現在A.B.C・・・・という名前の多数のボタンがあります 2.それぞれをクリックすると、A1.B1.C1・・・・とそれぞれのインスタンスがZ_mcというムービークリップ内に生成されます。その時にボタンに記述したスクリプト on (press) { Z_mc.attachMovie( "識別子", "A1", 1); } 3.このままですとA.B.C・・・・とボタンをクリックしていくとインスタンスがA1.B1.C1・・・・と同じ場所に生成されるため、重なってしまいます。 どのようにボタンにスクリプトを記載すれば、前に生成されたインスタンスを削除して、新しいインスタンスを生成できるのでしょうか?よろしくお願いします。

    • ベストアンサー
    • Flash
  • インスタンス名の変更mcどうしのhittest

    お世話になります。Flash,actionscriptの初心者です。 現在actionscript2.0でちょっとしたFlashコンテンツを作っているのですが、解決できない ことがあり、ぜひお知恵を拝借できればと思います。 詳しくは添付図をご覧いただきたいのですが、 A1_mcとB1_mcのムービークリップをhittestで衝突判定させ、 B1_mcは見えないようにし、 A1_mcはgotoAndPlay(2)で2フレーム目にします(☆の絵)。 同時にthis._name="C1_mc"でインスタンス名を変更しました。 (ここまでは大丈夫で、trace(this._name)でも変更が確認できる。) 同じようにA2、B2、C2も設定しました。 そして、姿(○⇒☆)とインスタンス名(A⇒C)と変わった C1_mcとC2_mcをhittestで衝突判定させてD_mc(■)を見えるようにしたいのですが、 何も起きず、hittestが発動していないのではと思ってしまいます。 説明がわかりにくいと思うのですが、インスタンス名を変更した物どうしのhittestを うまく発動させるにはどうしたらよいか、教えていただきたいのです。 にわか知識のためFlashやactionscriptの根本的な問題を理解できてなさそうです・・・。 ちなみに何がやりたいかというと、○と○、○と☆ではお互いに反応しないが、 ○と◇が合体して☆になったもの同士(☆と☆)が接触すると、反応して■が出現する・・・ そんなFlashを作りたいのです。 自分の現状のやり方以外でこれが実現できるのなら、それでも大歓迎です。 長文になりましたが、ぜひともよろしくお願いいたします。 <参考・・自分の組んだAS> A1_mc.onEnterFrame = function() { if (this.hitTest(_root.B1_mc))     { _root.B1_mc.gotoAndPlay(2); //2フレーム目(空のキーフレーム)にとび、B1を消す this.gotoAndPlay(2);  //○⇒☆(2フレーム目)に姿を変える this._name="C1_mc"; //インスタンス名をA1_mcからC1_mcに変える     trace(this._name); //インスタンス名の変更を確認する。 delete this.onEnterFrame;     } else{ } }; A2_mc.onEnterFrame = function() { if (this.hitTest(_root.B2_mc))     { _root.B2_mc.gotoAndPlay(2); //2フレーム目(空のキーフレーム)にとび、B1を消す this.gotoAndPlay(2);  //○⇒☆(2フレーム目)に姿を変える this._name="C2_mc"; //インスタンス名をA2_mcからC2_mcに変える     trace(this._name); //インスタンス名の変更を確認する。 delete this.onEnterFrame;     } else{ } }; C1_mc.onEnterFrame = function() { if (this.hitTest(_root.C2_mc))     {     this.visible = false ; //姿を消す _root.C1_mc.visible = false; _root.D_mc.gotoAndPlay(2); //D_mcの出現(D_mcの1フレーム目は透明で見えなくしている。2フレーム目からアニメーションさせたいのでvisibleは使わない)     delete this.onEnterFrame; }   else{ } };

    • ベストアンサー
    • Flash
  • 【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
  • attachMovieがうまくいかなくて困ってます

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

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

    スクリプト初心者です。 ムービークリップの制御について、まったくわからず困っています (1)シーン1、5フレーム目にムービークリップ、インスタンス名a_mc配置 (2)a_mcの中にb_mc配置。b_mcをクリックすると→a_mcの1フレーム目に移動。もう1度b_mcクリックすると→a_mcの10フレーム目に移動。もう1度b_mcをクリックすると→a_mcの1フレーム目に移動・・・と、 b_mcをクリックするごとにa_mcの1フレーム目、10フレーム目、1フレーム目・・繰り返す制御をしたいのですが。。 どなたか分かる方いましたら 教えてください!!

  • Flash ステージに初期配置したMCがnull

    FlashPro CS5で as3の勉強をしています。 メインのタイムラインにマスク用のレイヤーを作成し、その2フレーム目にムービークリップを配置してインスタンス名を付けました。 ところが、ドキュメントクラスオブジェクトからこのマスク用のインスタンスを参照したところ、nullが返って来てしまいました。 これはどういった仕組みになっているのでしょうか? 2フレーム目で初めてインスタンスが生成されるのでしょうか? 再び1フレーム目に戻ってきた時にはどうなっているのでしょうか?

    • ベストアンサー
    • Flash
  • 画像が読み込まれたかを確認するには

    Flash 8 [MC]インスタンス:back 同じフレームのフレームアクション   back.loadMovie("back.jpg"); で、外部から背景画像を読み込むのですが、 背景画像を読み込んで表示してから次の処理(フレームを進める)を行うようにしたいのですが、どうすればいいのでしょうか よろしくお願いします。

    • ベストアンサー
    • Flash