• ベストアンサー

FLASH で外部データをXMLにするメリットは?

現在 FLASH MX2004 で趣味でFLASH作成を楽しんでいます。 最近疑問に思ったのですが、、、 外部データを読み込むような場合に、XMLファイルを読む場合がありいますが、外部ファイルの形式をXMLにしておくメリットは何なのでしょうか? 今のところ、例えばゲームのハイスコアと名前などのデータは単にテキストファイル(.txt)で保存したり読み込んだりしています。 この程度の利用でもXMLにするメリットはあるのでしょうか? (処理が速いとか??) 以上よろしくお願いします。

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

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

処理が早いのではなくて, Flash作成者側の処理が簡単なのです。 あと XML はテキストでのデータベースの共通書式でしょう。 日本語で言う所の共通語や標準語に当たる物です。 ですから,Flash としても他の形式をサポートするよりずっと汎用的です。 XML 形式のデータだと, Flash Player が XML としてデータを扱ってくれるので, ノードなどの操作や検索で簡単に目的のデータを取り出すことができます。 例えば CSV だと Flash では本格的にサポートされていませんから, CSVデータをロードしても, そこから必要なデータを必要な形にして表示させたり活用するのが至難の業になります。 例えば CSV は LoadVars クラスのメソッドでロードまではできます。 そこから, カンマ区切り(TAB区切りの場合もある)や,改行コードで, データの縦横を認識させて, 各データをそれぞれの変数や配列変数に,ちゃんと整列させなければ扱いにくいです。 XML だと,LadVars クラスのメソッドで読み込むのではなく, 最初から XML クラスのメソッドでロードできるので, そういう手間が省けます。 XML以外では, 最初に変数と値をテキストデータに用意しておく方法もよく使われます。 外部テキストファイルのデータは次のような形で用意しておきます。 myHensuu1=北海道& &myHensuu2=青森& &myHensuu3=秋田& &myHensuu4=岩手 そして, LoadVars クラスのメソッドでそのテキストファイルを Flash 内にロードします。 仮に,myLoadVars というインスタンスにロードした場合,  myLoadVars.myHensuu2 でアクセスすると, 「青森」というデータを表示させたり,何かに使うことができます。 こういう一次元配列のようなデータであれば, 上のように作成しても良いのですが, 二次元配列的データになると,扱いが非常にやっかいになります。 というわけで, XML の方が何かと使いやすいので,最近は頻繁に使われています。 思うに,おそらく,質問者様は, XML を用意するのが手間だと思われているのではないでしょうか? 実は私もそう思います。 しかしこれは, 人間がXMLを作ろうと思うからやっかいなだけです。 RSS 配信データや,ネット上のデータは XML 形式で "自動生成" されるものが多いです。 したがって, PHP などを XML を吐き出させるように作れば簡単な事です。 というわけで, 共通語である XML が汎用的で, なおかつ Flash 内で扱いやすいので, Flash の外部データは XML にすることが多いのです。 でも,Flash で XMLが本格的に扱えるようになったのは,Flash MX からですよ。 Flash 5 にも XMLソケット というものがありましたが, あまりちゃんと使える物ではありません。 ですから, Flash 5 までは四苦八苦してなんとかデータを作成したり, Flash 内のデータ構造を自分の力で(ActionScript自作で)扱っていたのです。 それを考えると,XML が扱えるようになって,楽々だと思います。

danadana
質問者

お礼

早速の回答ありがとうございました。 確かにLoadVarsクラスを使う場合、多少面倒だなぁとは思っていましたので、これを期にXMLの勉強をしようかと思います。

すると、全ての回答が全文表示されます。

その他の回答 (1)

回答No.2

Flash 開発者ではありませんが、外部データを提供する側の仕組み開発はしたことがあります。 どちらでもって感じです。 ですが、どちらでもって言うのなら XML のほうが汎用性が出てきます。 質問者さんがイメージしているように Flash がデータ保存先と直接やりとりをするのであれば好きな方法でやればいいですけど、Flash とデータ保存先との間に仲介者が入れば入るほど XML のほうがみんな幸せになります。 そういった事を踏まえたからこそ Flash が XML 対応になったのかと。

danadana
質問者

お礼

早速の回答ありがとうございました。 XMLというのは汎用性という点で優れている、ということですね。 すっきりしました!

すると、全ての回答が全文表示されます。