• ベストアンサー

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

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

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

  • ベストアンサー
回答No.3

>myData = new LoadVars(); >の4行を何所に配置すればいいんだろう・・・。 何処でも良いんでしょうが(笑、通常はこういうデータは最初に読み込まれる方が良いでしょうから、フレームの一番最初のタイムライン上のアクションスクリプトに書くのが良いと思います。 例えば、一番最初に読み込まれるフレームで環境定義と読み込み開始 //-----最初のフレーム-------- System.useCodepage = true; //変数がSJISの場合はtrue、URLの場合はこのような定義は要らないと思います。 System.security.allowDomain("taketan.mydns.jp"); //外部テキストを別のサーバに置いておく必要がある場合はドメインを指定 getvarURL ="http://taketan.mydns.jp/geturl.txt"; //変数の置いてあるURL、外部の場合ならhttpから myData= new LoadVars(); myData.load(getvarURL); //読み込みが開始されます i=0; //タイムアウト用の変数 //------2番目のフレーム----- i++; //タイムアウト用 //------3番目のフレーム----- //無事読み込まれた場合はデータをセット、読み込まれなかった場合(回線不良等の場合)はもとに戻る if( myData.loaded ){ _root.url1 = myData.geturl1; _root.url2 = myData.geturl2; nextFrame(); //データをセットして次のフレームへ }else{ _root.status = "データ取得中"; gotoAndPlay(2);//前のフレームへ戻る if( i <100){ gotoAndPlay("error",1); //別シーンでエラー画面 } } //------表示用の画面 というような感じで書けば問題は少ないと思います(過剰な部分もありますが)。

schahrazade
質問者

お礼

非常に丁寧な回答、ありがとうございました。 こちらで色々とスクリプトを配置しましたが、 思ったように動いてくれませんでした。 自分の知識では実現不可能だったので、以下の方法で自己解決致しました。 ダイナミックテキストで読み込む外部テキストにhtmlを記述し、読み込む(画像、テキストなどの)要素を<a>タグで囲み、間接的ではありますが外部にURLを記述させました。 丁寧な回答ありがとうございました。

その他の回答 (2)

回答No.2

ちょっと訂正 HTMLから変数渡しの場合は、&は &amp;(&の参照文字)に置き換える必要があります。

回答No.1

可能です! 方法はいくつか考えられます。 一般的なのは、loadVarsで外部テキストから読み込みます。 外部テキストを url.txtとでもしておいて geturl1=http://www.xxx.xxx/aaa &geturl2=http://www.xxx.xxx/bbb というようなテキストを用意します。変数は名前=変数、複数の場合は&でつなぎます。 myData = new LoadVars(); myData.load("url.txt"); _root.url1 = myData.geturl1; _root.url2 = myData.geturl2; とすれば、url2、url2にURLを読み込む事が出来ます。 同様に、xmlで読み込み、参照する事も出来ます。 もっと単純にしたい場合は、外部テキストを用意するのではなく、swfを呼び出すHTMLに変数を埋め込んでおいて参照する事も出来ます。 <object ~ > <param name="movie" value="text.swf?url1=http://www.xxx.xxx/aaa&url2=....."> とかすれば、swfファイルを変更する事無く、参照する事も出来ます。

schahrazade
質問者

補足

素早い回答ありがとうございます。 早速試してみました。 教えて頂いた、 myData = new LoadVars(); の4行を何所に配置すればいいんだろう・・・。 という事で、あれこれ置いてはパブってという感じでしたが、onクリップハンドラの中じゃないとダメだぞ、というエラーを吐き出されたので、 on(release){ myData = new LoadVars(); myData.load("url.txt"); _root.url1 = myData.geturl1; } という感じで、ボタンに直接書いてみたのですが見事に動きませんでした・・・。 ASは(も)ホントに初心者なので、こんな愚問をして申し訳ありませんTT もし暇でしたらご回答下さい。

関連するQ&A