• 締切済み

FlashにXMLを読み込む

Flashに外部XMLテキストを読み込みで行き詰まってしまい、質問させて頂きます。XMLテキスト読み込みまではできたのですが、そのテキストにリンクを貼ることができず、困っています。どなたか分かる方がおられましたら教えてください! 【以下XMLになります】 <?xml version="1.0" encoding="UTF-8"?> <topIndex topA="TOPICS" topDescription="テキストテキストテキスト" topB="テキストテキストテキスト" topC="テキストテキストテキスト" topD="テキストテキストテキスト" topE="テキストテキストテキスト"> </topIndex> FlashのASには _global.index_xml = "top.xml"; _global.xmlIndex = new Object(); XML.prototype.ignoreWhite = true; indexXML = new XML(); indexXML.onLoad = XMLLoaded; indexXML.load(index_xml); function XMLLoaded(success):Void { var rootNode:XMLNode = indexXML.firstChild; xmlIndex.topTitle = rootNode.attributes["topTitle"]; xmlIndex.topA = rootNode.attributes["topA"]; xmlIndex.topB = rootNode.attributes["topB"]; xmlIndex.topC = rootNode.attributes["topC"]; xmlIndex.topD = rootNode.attributes["topD"]; xmlIndex.topE = rootNode.attributes["topE"]; _root.topTitle.text = xmlIndex.topTitle; _root.topA.text = xmlIndex.A; _root.topB.text = xmlIndex.B; _root.topC.text = xmlIndex.C; _root.topD.text = xmlIndex.D; _root.topE.text = xmlIndex.E; } と記述しています。 環境はMacでFlash8を使っています。 よろしくお願いします。

みんなの回答

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

#1です。 > <topics> > <a href="http//:---.co.jp">コメント</a> >  コメント<a href="http//:---.co.jp">clickHere!</a>" >  <a href="http//:---.co.jp">コメント</a> >  コメント<a href="http//:---.co.jp">こちらをご覧ください。</a> > </topics> > としてみたのですが、 > 今度はFlashに全く反映されなくなってしまいました。 > 全くのXML初心者ですみませんが、ご指導お願いいたします。 全くもって意味不明です。 そんなことをするなら元の方が良いですよ(というか当然ですが)。 XML を壊してますし, それにその上そんなことが書ける(そんなデータが用意できる)のでしたら, XML にする必要はないと思いますが。 わざわざ XML など,遠回りをする必要性は全く感じません。 たとえば,外部データをテキストとして用意します↓。 ---「index.txt」(文字コード UTF-8)------------------- <a href="http//:---.co.jp">コメント</a><br> <a href="http//:---.co.jp">clickHere!</a><br> <a href="http//:---.co.jp">コメント</a><br> <a href="http//:---.co.jp">こちらをご覧ください。</a> ----------------------------------------------- Flash のステージ上に, 複数行入るような大きなテキストフィールドを用意して, そのテキストフィールドに, たとえば 「my_txt」 というインスタンス名を付けます。 その 「my_txt」 というインスタンス名 が存在するフレームに次のように書けば良いだけではないでしょうか。 ----------------------------------------------------- // my_txt のHTMLレンダリングを true にする my_txt.html = true; // my_txt 余分な空白や改行を削除する my_txt.condenseWhite = true; // my_txt を 複数行 設定にする my_txt.multiline = true; // LoadVarsクラスのインスタンス myVars を作成 myVars = new LoadVars(); // LoadVarsロード完了時の動作(myDataには外部テキストが入る) myVars.onData = function(myData) { // my_txt の htmlText として myData(外部テキスト) を代入 my_txt.htmlText = myData; }; // myVars に index.txt をロード myVars.load("index.txt"); ---------------------------------------------------- スクリプトも簡単。 データもシンプルです。 ぜんぜん XML は関係なしです。 もっとリンクがかかったぽい文字にするには(Windows の IE のデフォルトリンク), 外部テキストを次のようにすれば良いだけです。 ------------------------------------------ <a href="http//:---.co.jp"><font color="#0000ff"><u>コメント</u></font></a><br> <a href="http//:---.co.jp"><font color="#0000ff"><u>clickHere!</u></font></a><br> <a href="http//:---.co.jp"><font color="#0000ff"><u>コメント</u></font></a><br> <a href="http//:---.co.jp"><font color="#0000ff"><u>こちらをご覧ください。</u></font></a> ------------------------------------------

monacoo
質問者

お礼

#1さん ご返答ありがとうございます! 「XML読み込みで」やって欲しいという急なお願いだったため、本当にXMLでやるべきかも判断できないまま作業していました。 全くXMLを触ったことも、外部読み込みもやったことがなかったので、焦ってしまい変なことをしてました。。 #1さんが書いてくださった通りにやったらすぐにできました! 本当にありがとうございました!

monacoo
質問者

補足

すみません。 もう1つ質問なのですが、外部テキストをマウスオーバーした時に下線を表示させたいのですが、どのようにすれば良いのでしょうか? いろいろ試してみたのですが、どうもうまくいきません。 よろしくお願い致します。

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

テキストテキストテキスト ばかり書かれても, いったいどこに(どのURLに)リンクを貼れば良いのかわかりませんよ。 テキストテキストテキスト が URL なのでしょうか? それとも別に URL データがあるのでしょうか? さらに, テキストフィールドにリンクを貼るとはどういうことでしょうか? テキストフィールド自体にリンクを付けるのでしょうか? それでしたら,次のURL(ヘルプ)が参考になると思います。 Flashドキュメンテーション target (TextFormat.target プロパティ) http://livedocs.adobe.com/flash/8_jp/main/00002817.html テキストフィールドに代入された文字列にリンクを付けるのでしたら, TextField.html プロパティに <a> タグを使ってリンクを付ければ良いと思います。 私はテキストフィールドをムービークリップに変換して, そのムービークリップに getURL を設定すると思いますが。 (リンク以外にも色々融通が利いて汎用性が高いです。)

monacoo
質問者

お礼

コメントありがとうございます。 テキストにリンクを貼るというのは、「テキストフィールドに代入された文字列にリンクを付ける」ということでした。すみません。 トップに「TOPICS」とあってその下列にメニュー項目が4項目あり、そのテキストをクリックすると各ページがブランクで立ち上がるようにしたいのですが。。 早速、XMLを <?xml version="1.0" encoding="UTF-8"?> <topIndex> <top="TOPICS"> <topics> <a href="http//:---.co.jp">コメント</a>   コメント<a href="http//:---.co.jp">clickHere!</a>"   <a href="http//:---.co.jp">コメント</a>   コメント<a href="http//:---.co.jp">こちらをご覧ください。</a> </topics> </topIndex> としてみたのですが、今度はFlashに全く反映されなくなってしまいました。 全くのXML初心者ですみませんが、ご指導お願いいたします。

関連するQ&A