loadMovieをしたmcにリンクがはれない

このQ&Aのポイント
  • 初心者がas2でloadMovieを使用して画像を読み込んだマックロードボタンにリンクを設定できない問題が発生しています。
  • mc.loadMovieを使用して外部画像を読み込むと、リンクが機能しなくなってしまいます。
  • 画像は正しく読み込まれていることを確認していますが、リンクが有効になりません。
回答を見る
  • ベストアンサー

loadMovieをしたmcにリンクがはれない

as2で作成しています初心者です。 mc.onRelease = function() {  geturl("http://hoge.co.jp"); } こういう記述をかいていました。 これは問題なく行きました。 mcは外部画像にしたかったので、 mc.loadMovie("./img/hoge.png"); mc.onRelease = function() {  geturl("http://hoge.co.jp"); } のようにするとリンクがきかなくなってしまいました。 画像はちゃんと読みこまれています。 これは何がいけないのでしょうか・・・ ご教授お願いいたします。

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

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

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

> これは何がいけないのでしょうか・・・ 何がいけないというか...,そういうものです。 つまり, そういう仕様ですから,その仕様が不都合だと思う場合は, その不都合を回避する必要があります。 「FN0307007 - MovieClip.loadMovieで外部ファイルを読込む」 http://fumiononaka.com/TechNotes/Flash/FN0307007.html > 3. MovieClip.loadMovieで外部ファイルを読込む際の注意 > 外部ファイルをMovieClip.loadMovieメソッドで読込むと、 > ターゲットインスタンスにスクリプトで設定したプロパティやメソッドなどは > すべてクリアされます。 > これは、プロパティやメソッドをMovieClip.loadMovieメソッドの > 実行前に定義した場合ばかりでなく、 > 実行直後に設定した場合も同じです。    ~略~ > インスタンスに設定したMovieClipアクションは、 > 外部ファイルをMovieClipにロードしてもそのまま残ります。 > ですから、イベントハンドラメソッドなどのフレームアクションを中心とした > MXスタイルのスクリプティングでも、 > onClipEvent (data)イベントハンドラアクションは > 引続き使用する価値があります。 上記サイトには回避策などはあまり書いていませんが, 回避策は考えればたくさんあります。 1 mc.onRelease を使うのではなく   mc 自体に on(release) を書く 2 mc.onRelease を設定する mc の中に   ロード用ムービークリップを作成しておいて   そこに 外部画像をロードする。   (親に設定,子にロード。) 3 mc.onRelease を設定する mc の下レイヤーに   ロード用ムービークリップを作成して   そこに 外部画像をロードする。   (上に設定,下にロード。) 4 MovieClipLoader で外部画像をロードし   MovieClipLoader.onLoadInitイベントで   mc.onRelease を設定する。 上記解決策で言えば 2 か 4 辺りがお薦めです。 Flash以外の一般的プログラマは 4 しか考えないと思いますしそれを使おうとすると思います。 Flash 作成者からすれば 4 などまどろっこしくて面倒くさいかもしれません。 「FN0501003 - MovieClipLoaderクラスについて」 http://fumiononaka.com/TechNotes/Flash/FN0501003.html

trfnc223
質問者

お礼

ご丁寧に有難うございます! とりあえず時間がないので2番で対応します! 4番は落ち着いたら習得します!

関連するQ&A

  • mc作成→jpg読み込み→リンクをつけたい

    createEmptyMovieClipでMCを作成し、 そのMCに画像を読み込み、さらにリンクをつけたいのですが、 なぜかうまくいきません。 createEmptyMovieClip("mc", 1); mc.loadMovie("test.jpg"); mc.onRelease = function() { getURL("aaa.html", "_blank"); }; としても画像は読み込まれるのですが、 リンクがつきません。 いろいろとサンプルを見て作成してみたのですが、 画像を読み込ませるとリンクが消えてしまいます。

    • ベストアンサー
    • Flash
  • mcにリンクを順番に張りたい

    for(i=0; i<5; i++){ creatEmptyMovieClip(["mc"+i],i); _root["mc"+i]._x = i*10 _root["mc"+i].onRelease=function{ getURL(["test"+i],"_blank"); } } として、 mc1にはtest1 mc2にはtest2 mc3にはtest3 mc4にはtest4 mc5にはtest5 のリンクを設定したいのですが、 なぜかすべてのmcにtest5へのリンクがついてしまいます。 上記のように順番にリンクをつけるには どのようにしたらいいのでしょうか。 _root["mc"+i].onRelease=function{ trace(i); } でiの値を確かめてみると iが5というのがわかります。 このiをカウントするようにすれば解決しそうなんですが、、、。

    • ベストアンサー
    • Flash
  • loadMovieしたムービークリップのボタン化

    ムービークリップにloadMovieで1.jpgをロードし、それをボタンにしたいのですが、下のスクリプトではうまく動作しません。 menu01_mc.loadMovie("1.jpg"); menu01_mc._xscale=10; menu01_mc._yscale=10; menu01_mc.onRelease = function(){ gotoAndStop(5); } 最初のloadMovieの部分をなくし、 menu01_mc.onRelease = function(){ gotoAndStop(5); } とするとちゃんと動作します。 loadMovieしたムービークリップはボタンにできないのでしょうか? FlashCS3、actionscript2.0で作成しています。 よろしくお願いします。

    • ベストアンサー
    • Flash
  • loadMovieとonEnterFrameについて

    はじめまして FLASH8を使用しています。 ActionScript初心者です。よろしくお願いします。 単体のswfだと機能するのですが、loadMovie後機能しなくなってしまいます。 読み込ませる側のアクションは ▽ボタンシンボルに on (press) { _root.moveMenu_1 = -138; menu_name.text = "キッズメニュー"; menu_text.text = kidsData; } ▽フレームアクション loadVariables("kidsmenu.txt", this); loadVariables("menmenu.txt", this); loadVariables("ladymenu.txt", this); loadVariables("seniormenu.txt", this); moveMenu_1 = -296; this.onEnterFrame = function() { img_y._x += ((0-moveMenu_1)-img_y._x)*0.1; }; MCのインスタンス名は「img_y」です。 他にボタンが3つほどあります。 swf単体だと機能します。 loadMovie後text・外部テキストは読み込むのですが、スクロールしなくなってしまいます。 これを3_1.swfとしました。 読み込む側のアクションは ▽ボタンシンボルに on (press) { _root.moveMenu = 2100; } 他に4つほどボタンがあります。 ▽フレームアクション scroll_flag = 0; moveMenu = 0; this.onEnterFrame = function() { if (scroll_flag == -1) { if (back_img._x<0) { moveMenu -= 20; } else { moveMenu = 0; } } if (scroll_flag == 1) { if (back_img._width+back_img._x>700) { moveMenu += 20; } else { moveMenu = 2800; } } back_img._x += ((0-moveMenu)-back_img._x)*0.1; }; back_img.c_1.loadTarget.loadMovie("1_1.swf"); back_img.c_2.loadTarget.loadMovie("2.swf"); back_img.c_3.loadTarget.loadMovie("3_1.swf"); back_img.c_4.loadTarget.loadMovie("4.swf"); back_img.c_5.loadTarget.loadMovie("5.swf"); スクロールするMCを「back_img」としました。 他に読み込んだものは機能したんですが 3_1だけうまく機能しません。 長々と失礼しました。

    • ベストアンサー
    • Flash
  • 外部ファイルを読み込んだMCをドラッグ&ドロップしたいんですが?

    flash(swf)で外部ファイルを読み込んだムービークリップ(MC)をドラッグ&ドロップで移動できるようにしたいんですが、どのようにすればできるでしょうか? 通常のライブラリなどに登録して表示させているMC(インスタンス名:photoL)は以下のようなASで処理できるんですが、外部ファイルを読み込んだMC(インスタンス名:photoF)では同じ書き方をしても表示はするんですが、ドラッグ&ドロップで移動できません。 --------------------------------------------------- photoF.loadMovie("test.jpg"); photoL.onPress = function(){ this.startDrag(false,v_leftLock,v_topLock,v_rightLock,v_bottomLock); }; photoL.onRelease = function(){ this.stopDrag(); }; photoL.onReleaseOutside = function(){ this.stopDrag(); }; photoF.onPress = function(){ this.startDrag(false,v_leftLock,v_topLock,v_rightLock,v_bottomLock); }; photoF.onRelease = function(){ this.stopDrag(); }; photoF.onReleaseOutside = function(){ this.stopDrag(); };

    • ベストアンサー
    • Flash
  • jpgを外部リンクさせswfで書き出し、loadmovieで読み込む

    こんにちは、よろしくお願いします。 WinXPでFlashMXを使用しています。 タイトルの通り、jpg画像を外部リンクさせたものをswfで書き出し、そのswfファイルをloadmovieで読み込みたいのですが、jpg画像が表示されません。 jpg画像以外のテキスト文字などは正常に表示されます。 jpg画像を外部リンクさせ、swfで書き出すところまでは正常に表示されるのですが、そのswfファイルをloadmovieで読み込ませると画像だけが表示されません。 お分かりになる方がいらっしゃいましたら、ぜひ御回答お願いします。

  • functionの中身が同じな場合の呼び出し方法

    functionの中身が同じな場合の呼び出し方法 実際はfunction内にもっと長いスクリプトが入るのですが、例えばキー入力とマウスによるボタンクリックのファンクションで起こる内容が同じな場合、なんども同じことを記述するのは面倒です。 例えば下記の場合、ファンクションの内容はどこか1か所のみに記載して、あとはそれを呼び出すのみの形にしたいのですが、どのようにすれば実現できるでしょうか?? hoge1.onRelease = function(){ getURL(""); } keyListener.onKeyDown = function(){ if(Key.getCode() == 57) { getURL(""); } 初心者の質問ですいませんが、よろしくお願いいたします。

    • ベストアンサー
    • Flash
  • Flash-XMLで読み込んだ各childNodesにリンクを付ける方法

    初めて質問致します。 類似した質問が過去にあり、参照しましたが解決に至らなかったので、 どうぞよろしくお願いいたします。 FLASHにXMLから画像を読み込み、その画像にXMLから読み込んだリンクを設定したいと思っています。 XMLの記述は ------------------------------------------------------ <GROUP> <SRC>001.jpg</SRC> <URL>001.html</URL> </GROUP> ------------------------------------------------------ となっています。この<GROUP></GROUP>ノードを複数回繰り返します。 FLASHでは ------------------------------------------------------ this["target_mc"+i].target.loadMovie(_root.SRC);/*画像を表示*/ this["target_mc"+i].link_btn.onRelease = function() { getURL(_root.URL);};/*リンクを設定*/ } ------------------------------------------------------ のように記述しています。 問題は、 画像部分(_root.SRC)は、XMLに記述してある、ノードの数の分だけ、きちんと画像が表示されるのに対して、 リンクは、XMLに記述してある、最後のノードのリンクが全ての画像に適用されてしまうことです。 もう少し詳しく説明します。 XMLに<GROUP>ノードが3つあり、それぞれ ■画像パス:001.jpg リンク:001.url ■画像パス:002.jpg リンク:002.url ■画像パス:003.jpg リンク:003.url と設定してあるとすると、 FLASHで出力した場合 ■表示画像:001.jpg リンク:003.url ■表示画像:002.jpg リンク:003.url ■表示画像:003.jpg リンク:003.url というように、画像は001~003.jpgが正常に表示されるのに対して、 リンクは全て003.urlに統一されてしまうのです。 画像が<GROUP>ノードの分だけきちんと表示されているので、 GROUPノードを繰り返すというActionScriptの記述は間違っていないように思います。 どなたか解決策をご存知でしたら、是非ご教示下さい。 何卒よろしくお願いいたします。

  • loadMovieでjpg画像の読み込み

    こんにちは。 ムービークリップhyozi_mcに外部のjpg画像を読み込ませようとしています。 cauntaフォルダの中にあるb01.jpgとb02.jpgを読み込ませるためにタイムラインに hyozi_mc.loadMovie("caunta/b02.jpg"); hyozi2_mc.loadMovie("caunta/b01.jpg"); と記述しています。 プレビューをするとb01.jpgは読み込みますが、b02.jpgは読み込みません。何も表示されていません。 両方ともフォトショップが加工しました。 2つの画像の違いは保存する時にjpgの画質をb01は高にb02は中にしている位です。 フラッシュでloadMovieをしようと思えば画像の画質をある程度あげないといけないとか決まりみたいなのがあるのでしょうか? すみませんが教えて下さい。 よろしくおねがいます。 ソフトはFlashMXを使っています。

    • ベストアンサー
    • Flash
  • loadMovieで呼び出したswfの不具合

    Flash初心者です。 環境は、OSはWindowsXPで、FlashのヴァージョンはCS3です。 loadMovieで呼び出したswfファイルが正常動作しません。 表示枠用に四角形の枠を書き、 ムービークリップシンボルに変換、 シンボル名は「load.mc」 インスタンス名も同じく「load.mc」とし、 タイムラインの1フレーム目に this.load_mc.loadMovie("●●●.swf"); と記述し、プレビューしたところ 呼び出したswfファイルが正常に動作しませんでした。 また、 on(press){ this.load_mc.loadMovie("●●●.swf"); } と記述したボタンでも結果は同様でした。 呼び出したswfファイルは、 いくつかの任意の角度から撮影した物体の画像をタイムライン上に並べ 画像の360度回転、拡大縮小をスライダーでコントロールするというもので 因みに、これはMdNムックの 「プロが教えるFlashアイデア工房」の127ページに掲載されていたものの流用です。 尚、掲載されていたサンプルのswfファイルを 試しに同様にloadMovieで呼び出してみたところ結果は同じでした。 swfファイル単独では正常に動作するのですが loadMovieで呼び出すと、 記述されたスクリプトがクリアされてしまうのか全く動作しません。 何が問題なのか全くわからず途方に暮れています。 どなたかご教授ください。 以下は、 呼び出すswfファイルに記述されたスクリプトです。 _________________________ ※画像のムービークリップに記述したスクリプト ↓↓↓ this.onLoad = function() { rtK = 0.3;//ズームスピード minSC = 30//縮小時の最小値; maxSC = 180//拡大時の最大値; //回転初期設定 frK = 0.3;//回転スピード maxFr = _totalframes;//最大フレーム数の設定 }; this.onEnterFrame = function() { //////画像サイズ////// tarSC = _root.sliderZ.zmSlider()*(maxSC-minSC)/100+minSC;//0で最小、100で最大になるよう変換 vSC = (tarSC-_xscale)*rtK;//目標の値に近づく this._xscale += vSC;//表示 this._yscale += vSC;//表示 //////画像回転位置////// tarFr = _root.sliderR.rtSlider()*maxFr/100;//0で最小、100で最大になるよう変換 vFr = (tarFr-curFr)*frK;//目標の値に近づく curFr += vFr; tmpFr = Math.floor(curFr); tmpFr %= maxFr; if (tmpFr<0) tmpFr += maxFr;//負の値の場合 gotoAndStop(tmpFr+1);//表示 }; this.onLoad(); ※回転用スライダーのムービークリップに記述したスクリプト ↓↓↓ this.onLoad = function() { //回転初期設定 range = 234;//スライダーのドラッグ範囲 minX = 92;//スライダーのX座標の最小値 maxX = minX+range;//スライダーのX座標の最大値 curX = _x; btPress = false;//ドラッグ中か否か } function rtSlider(){ if (btPress) curX = _parent._xmouse;//スライダーのドラッグ curX = Math.min(curX, maxX);//ドラッグ範囲 curX = Math.max(curX, minX);//ドラッグ範囲 _x = curX;//移動 // //画像の回転 rtVal = (curX-minX)*100/range;//0から100の値に変換 return(rtVal); } this.onPress = function() { btPress = true; }; this.onRelease = this.onReleaseOutside=function () { btPress = false; }; this.onLoad();

専門家に質問してみよう