外部ファイルでテキスト、リンク先URLを指定したボタン

このQ&Aのポイント
  • FLASH MX WindowsXPを使用している場合、外部ファイルでテキストとURLを読み込んだリンクボタンを作成しようとしていますが、URLが正しく読み込まれません。
  • ボタンの構成は、ボタンインスタンス、ムービークリップインスタンス、ダイナミックテキストの順です。ダイナミックテキストは正常に表示されています。
  • ムービークリップには正常にActionScriptが記述されていますが、ボタンのリンクだけが作動しません。解決策として、loadVariablesNum関数をシンボル内に記述することを試してみても解決できませんでした。他のURL設定方法も知りたいです。
回答を見る
  • ベストアンサー

外部ファイルでテキスト、リンク先URLを指定したボタン

FLASH MX WindouwsXPを使用しています。 宜しくお願いします。 外部ファイルよりテキスト、URLを読み込んだマウスアクションの ついたリンクボタンを作成しているのですが、URLが上手く 読み込めません。 ボタンの構成(重なり)は上から ・ボタンインスタンス ・ムービークリップインスタンス ・ダイナミックテキスト の順です。 ダイナミックテキストは LoadDataName = "topmenu26.txt"; loadVariables(LoadDataName, ""); _root.mm1.text = menu1; と読み込み正常に表示されています。 ムービークリップもボタンにActionScriptを記入することで 正常に作動しています。 しかしボタンのリンクだけが正常に作動しません。 ボタンには外部よりリンク先URLを読み込む為、レイヤー最上段の 1フレーム目に loadVariablesNum("topmenu26.txt", 0); と記入し、ボタンには on (release) {getURL(url1, target);} で外部ファイルのに記入したURLを読み込んでいます。 「シーン1」にこのボタンを設置すると、実際この方法で正常に 動きます。 しかし、このボタンを「シーン1」からシンボル内に設置すると 1フレーム目に記入した loadVariablesNum("topmenu26.txt", 0); と、ボタンの on (release) {getURL(url1, target);} がファイルを読み込まずリンクだけ動かなくなってしまいます。 フレームに記入した loadVariablesNum("topmenu26.txt", 0); の記入場所をシンボル内に変更したり、いろいろ試してみた のですが、解決できませんでした。 どのように変更すればシンボル内でもこのようなボタンが 設置できるのでしょうか? また、ボタンに外部からURLを設定する場合、他にどのような方法が あるのでしょうか? 宜しくお願いします。

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

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

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

ちょっと今時間がないので手短になってしまいますが。  loadVariablesNum("topmenu26.txt", 0); これで _level0 (_root) に 「topmenu26.txt」 が読みこまれます。 ですから,ムービークリップに入れたボタンの場合, 「topmenu26.txt」 の中のデータが  url1=○○.html&target=_blank というものであったとしたら, on (release) { getURL(_root.url1, _root.target); } で,一応はうまく行くと思います。 ターゲットパスに気を付けてください。 「ターゲットパス」 http://homepage3.nifty.com/ginga-b/MX/targetpath.html =============================== あと,テキストの表示部分ですが, ローカルPCでは, LoadDataName = "topmenu26.txt"; loadVariables(LoadDataName, ""); _root.mm1.text = menu1; これでうまく行くかもしれませんが, アップすると,おそらくうまく行きませんよ。 2行目 loadVariables(LoadDataName, ""); の意味がよくわかりませんが, その件は別問題ですから良しとして, ロードが完了してから,  _root.mm1.text = menu1; をしないと,普通はうまく行きません。 こういうこと (ロード→即実行) をするときは,loadVariables でごり押しに押し切る方法もありますが, loadVariables ではなく LoadVars クラスのメソッドを使った方が良いです。 以下は _root のフレームなどに書くスクリプトです。 ------------------------------------------- // 変数LoadDataName の定義 LoadDataName = "topmenu26.txt"; //------読み込み待ち処理------// // LoadVarsクラスのインスタンスを作成 myLoadVars = new LoadVars(); // LoadVars.onLoadを定義 myLoadVars.onLoad = function(Success) { //読み込みが成功したら if (Success) { // mm1.text に menu1を表示 _root.mm1.text = this.menu1; } }; //------読み込み------// // myLoadVars に topmenu26.txt をロード myLoadVars.load(LoadDataName); ------------------------------------------- すみません。 時間の都合により検証していません。 だいたい上のような感じにする方が良いと思います。 この辺を参考にしてみてください。 「LoadVarsオブジェクトを使った外部テキストファイルの読込み」 http://www.fumiononaka.com/TechNotes/Flash/FN0303007.html

1109to
質問者

お礼

回答ありがとうございます。 早速参考にして勉強させていただきます。

関連するQ&A

  • 外部テキストからURLを読み込む方法

    昨日、外部テキストの読み込みでお世話になったものです。 言われたとおりにやってみたところちゃんとテキストは読み込めました。 次はURLを読みこもうと思い、みなさんの質問の参考になりそうなものを手がかりにやってみたのですが、うまくいきませんでした。 テキストファイルは『flash.txt』 シンボルはMCで フレーム1のアクションスクリプトは ―――――――――――――――――― System.useCodepage = true; myLoadVars = new LoadVars(); myLoadVars.onLoad = function(Success) { if (Success) { _root.text1.text = this.menu1; _root.url1 =this.url1; } }; myLoadVars.load("flash.txt"); --------------------------------------- となっています。 これでシンボルMCに on (release) { getURL("_root.url1"); } とやっているのですが、飛びません。 また前回と同じようにこちらのミスが多いのかもしれませんが、 知っている方がいましたらよろしくお願いいたしますm(__)m

    • ベストアンサー
    • Flash
  • 外部テキストでリンク

    Flash初心者ですが宜しくお願いします FLASH MX WindouwsXP を使用しています。 作りたいボタンは 外部テキストでタイトルとURLを指定してページの真ん中にサイズ指定で開くボタンです (できれば開くサイズもテキストで指定できたほうがいいです) 以下のように作成 アクションレイヤー ボタンレイヤー テキストレイヤー を配置して アクションレイヤー stop (); System.useCodepage = true; loadVariablesNum("botan.txt", 0); myLoadVars = new LoadVars(); myLoadVars.load(LoadDataName); function centerOpen(url,Name,Width,Height) { var topC = "TP=(screen.availHeight-"+Height+")/2;"; var leftC = "LT=(screen.availWidth-"+Width+")/2;"; var features = "','top='+TP+',left='+LT+',width="+Width+",height="+Height; features += ",scrollbars=0,resizable=0');void(0);" ; var win = "window.open('"+url+"','"+Name+features; return "JavaScript:"+topC+leftC+win; } ボタンレイヤーに (ボタンインスタンス) on (release) { getURL(centerOpen("url", "blank", 800, 600), ""); } テキストレイヤー (ダイナミックテキスト) 変数(title) 外部テキストに title=<font color="#009844">リンクタイトル</font>& url=http://k2v.jp/& 反応はするんですがURLがうまく取得できません でUPしてボタンを押すと下のアドレスが表示されます http://k2v.jp/url のページが出てきます どこを変更したらいいのか自分なりに考えてみたんですが いきずまってしまいました ご教授おねがいします。

  • FLASHで外部テキストを表示するには

    こんにちは。 現在FLASHで、あるボタンをクリックすると吹き出しが出て、その吹き出しの中に外部テキストを表示させる、というものを作ろうとしています。 吹き出しはムービークリップシンボルで作成し、ダイナミックテキストブロックを配置したフレームに「loadVariablesNum("text1.txt", 0);」というアクションを追加しました。 そしてボタンには「on (release)」イベントを追加し、クリックすると吹き出しシンボルが表示されるようにしました。 その結果、ボタンをクリックすると吹き出しは表示されるのですが、テキストが全く表示されません。スクリプト内で指定した外部テキストのファイル名および階層は間違っていないようです。 このように、うまく外部テキストを読み込みできない原因として、何か考えられることはありますでしょうか? 説明が下手で申し訳ありませんが、ご教示いただけると助かります。 よろしくお願いいたします。

  • 「.txt」に記入した、テキストとリンクURLをFlashに読み込む時に・・・

    こんにちは! Windows XP Flash MX 秀丸 「.txt」から  Flash内のテキストフィールドにテキストを  そのテキストの上に重なっているボタンインスタンスに  URLを指定させたいと考えています。 マウスが乗ったときにアクションの起こるボタンに、 外部からテキストとURAを設定したいということです。 ボタン構成は ボタンインスタンス「A」 ダイナミックテキスト「vtext」 ムービークリップ「B」ActionScript記入 ムービークリップ「over」マウスが乗った時のムービー まとめて「aaa」とシンボル化してあります。 「.txt」には以下のように記入 *** Index Setup *** &index=YAHOO!JAPAN& &url=http://www.yahoo.co.jp& &target=_blank& シーン1タイムライン1フレーム目には _root.aaa.A.onRollOver = function () { if (_root.aaa.overFlag != 1) { with (_root.aaa.over) { play(); } // End of with } // end if _root.aaa.overFlag = 1; _root.aaa.vText._x = -200; }; _root.aaa.A.onRollOut = function () { _root.aaa.overFlag = 0; _root.aaa.vText._x = 0; }; _root.aaa.A.onPress = function () { getURL(_root.aaa.A.url, _root.aaa.A.target); }; 「data」には onClipEvent (load) { if (_root.inText == null) { this.loadVariables("SingleButton_01a.txt"); } else { this.loadVariables(_root.inText); } // end if } この状態でターゲットパスを正確に記入しどの階層でも動くのですが、 シーン1のタイムライン上(どこでも)にstop();とアクションを記入 するとテキストのみが表示され、ボタンのリンクやムービーは止まってしまいます。この解決方法はないのでしょうか? よろしくお願いします。

  • ボタンを押すと外部テキスト表示

    初心者です。フラッシュはMXです。よろしくお願いします。 ボタンを押すと外部のテキストをテキストフィールドに表示する、というものを作りたいと思っています。過去の記事を検索して、私なりに組み立ててみました。 外部テキストファイル名はphoto01.txtです。読み込みたいテキストはtxt01_1です。 まず、メインにダイナミックテキスト、複数行、変数comentを用意しました。 ボタンは、メインにあるムービークリップthumbnailsの中にあるボタンに、 on (release) { _parent.coment = txt01_1; } というアクションを書きました。 そしてメインのフレームには System.useCodepage = true; this.loadVariables("photo01.txt"); というアクションを書きました。 プレビューしてボタンを押してみたらundefinedと出てしまいました。 意味も全くわからないまま拾い集めて組み立ててみたので、何が悪いかもわかりません。 どなたかぜひ教えてください。 どうぞよろしくお願いします。

    • ベストアンサー
    • Flash
  • 外部テキストから変数の読み込み方

    当方Flash2004MX Proなのですが、 外部テキストから変数の読み込み方が解りません。 ご回答のほど宜しくお願い致します。 ---------------------- flaのフレームアクション loadVariablesNum("sample.txt",0); trace(sampletext); ---------------------- ---------------------- 外部テキストの中身 sampletext=test ---------------------- をパブリッシュすると undefined がでます。 どのようにしたら外部テキストから 変数が読み込まれるのでしょうか。 宜しくお願い致します。

  • テキストファイル読み込み時のボタン生成について

    こんにちは今回FLASHの作成中でどうしても行き詰ったので質問させていただきます。  タイトルの通りFLASHでテキストファイルを読み込み、その読み込んだ文字をFLASHの画面上に表示させ、その表示している文字をボタンにして、そのボタンをクリックしたら指定したフレームへジャンプというのを考えております テキストの読み込みには System.useCodepage = true; loadVariablesNum("output.txt", 0); を利用して 読み込んだ文字の表示はダイナミックテキストで変数名を指定し表示しています。 そのダイナミックテキストをボタンにしてみようとシンボルに変換してみましたが無理でした。 ボタンにする事は出来ていると思うのですが なにせヒットゾーンがなくクリックできませんので良く分かりません どなたか分かる方がいらっしゃればお願い致します

    • ベストアンサー
    • Flash
  • 外部テキストが複数のインスタンスに読み込まれない?

    質問させてください。 ボタンをクリックしたときに指定されたフレームへ飛び、MCが動き、 そのMC内で外部テキストを読みこみ、 それぞれ設置した2つのダイナミックテキストへ文を読み込ませるという構想になっております。 (以下階層です) シーン1 b(mc)フレーム1        L・背景 フレーム1          ・ダミーボタン1フレーム1 ASレイヤーに this.stop();          ・ダミーボタン2フレーム1 ASレイヤーに this.stop();          ・パネル/a(mc) フレーム2 (AS) ダミーボタン1 インスタンス名btn1 on (release) { _root.b.gotoAndStop(2); _root.b.a.t1.htmlText = _root.b.a.text1; _root.b.a.m1.htmlText = _root.b.a.text1_a; } ダミーボタン2 インスタンス名btn2 on(release){ _root.b.gotoAndStop(2); _root.b.a.t1.htmlText = _root.b.a.text2; _root.b.a.m1.htmlText = _root.b.a.text2_a; } パネル、a(mc)部分に onClipEvent (load) { System.useCodepage = true; this.loadVariables("sample.txt"); trace("loading"); } onClipEvent (data) { trace("完了"); } パネル内 ダイナミックテキスト(インスタンス名:t1 フレーム5 ダイナミックテキスト(インスタンス名:m1 フレーム5 (AS) 5フレーム目にthis.stop(); 外部テキスト内 sample.txt 文はファイルと同じところにあります。 &text1=</u>AAA</u>& (あえて今は全角にしてあります) &text1_a=</u>aaa</u>& &text2=</u>BBB</u>& &text2_a=</u>bbb</u>& ------------------------------------- 出来ているのはb(mc)内ダミーボタンを押すとフレーム2に飛び、 フレーム2に配置されているパネルa(mc)の中のダイナミックテキストのあるフレーム5で止まる、というところまでです。 困っているのは b(mc)内、フレーム2のa(mc)部分でtraceするとloadingは出ているので読み込まれてはいると思うのです。 しかしムービープレビューすると文のほうは何も表示されずでして…パスがあってないのでしょうか…。 パネル内のダイナミックテキストに表示させるに当たりどこが違うか、 長々と恐縮ですがご教授願います。 環境はWinXP、Flash8 proです。

    • ベストアンサー
    • Flash
  • getURLで指定したリンク先が表示されません。

    よろしくお願いします。 Flash MX 2004を使用しています。 2段のフレームで、上の段を「f1」、下の段を「f2」と フレーム名を付けています。 上段のメニューバーのボタンをを押すと下段のフレームにリンク先が 表示されるようにしているのですが、 on (release) {   getURL("http://~.html", "f2"); } こんな感じです。 URLを変更したいと思い。別のURLを記入し直したら 下段のフレームに、リンク先が表示されず、 「リクエストされた URL は、このサーバ上には見つかりません。」と 表示されてしまいます。ちゃんとURLは存在していますし、 文字の入力も何度も確認しました。 原因はどこにあるのでしょうか? ちなみにもう1つあるボタンのリンク先は、問題なく表示されます。 初心者なので、頭をかかえてます。

  • getURLのurl記述部分を外部テキストで記述する方法

    ボタンを押してリンク先に飛ばしたい時って、 on (release) { getURL("index.htm"); } とかって記述すると思うんですが、 外部テキストでリンク先のURLを記述し、ダイナミックテキストの変数のような感じで読み込んで、結果としてクリックすればそのページに飛ぶようにしたいんですけど、どのように記述すればよいのでしょうか。 というか、そもそも可能なんでしょうか・・・。 誰が方法をご存知であれば教えてくださいTT

    • ベストアンサー
    • Flash

専門家に質問してみよう