ビデオチュートリアル:CASA で XML をロード&パース

今回は「CASA Framework」の XmlLoad クラスと、XmlUtil クラスを使って AS2.0 で外部XMLをロードしてパースする(Object形式に変換して Flash 内で取り扱い易いようにする)ビデオを、息づかい荒めに作りました。

ほとんどのコードは、CASA のドキュメントからのコピペで出来上がるので、動作内容だけイメージできれば、とても使い易いですよ。AS2用のXMLパースのライブラリとしては、CASA の他にも XPath4AS2 があるのですが、処理中に画面が固まることがあるので、僕は使ってません。

このビデオを見て、エントリーユーザーの方にも、「XMLの読み込みって簡単なんや〜」と思ってもらえればありがたいです。

視聴は以下から:

CASA で XML をロード&パース」(16分程)

ビデオ後半でグダグダになっていくのですが、撮り直しもしんどいのでアップしました。(これでもテイク10ぐらいやってるんですが。。)

補足等は以下:

  • CASA の XmlLoadを使えば、System.ignoreWhite = true; とかも書かなくて良いし、firstChild.firstChild… で自分が今どのノードなのか迷うこともなくなるので便利だと(僕は思っています)。
  • trace(this.myXmlLoad.getXml().firstChild); がなぜか Windows で実行するとアプリが強制終了してしまう。Mac だと大丈夫なのに。このせいで、動画中では、ロードしたXML全体を出力ウィンドウに表示させるステップが抜けちゃってますが、想像力で補って下さい。
  • もちろんパーセンテージ付きのローダーを作ることもできます。もっと簡単なものでよければ、ステージ上にロード中っぽくグルグルするムービークリップを(attachMovieして)置いておき、EVENT_LOAD_COMPLETE のタイミングで実行される onDataLoad 関数の中で removeMovieClip してやるとか。もっと力技で、onDataLoad したら _root.gotoAndPlay(2);とかね。
  • var xmlObject:Object = XmlUtil.xmlToObject(this.myXmlLoad.getXml())[RootNode][0][ChildNodes]; と一気にパースできるのを、大阪てら子のさくーしゃさんのサンプルで教えてもらいました。
  • ローカル環境では、他人のサイトからXMLロードできていたのに、完成したswfを自分のサーバーにアップロードするとロード失敗することがあります。それは、FlashPlayer が異なるドメイン間のやり取りを制限する仕様になっているからで、それを解決するには、ロードされる側のサイト(XMLがある方)の許可したいフォルダにルートディレクトリか、任意ディレクトリ(この場合Flash側でloadPolicyFile 指定が必要)に、 crossdomain.xml というファイルを置き、その中でフルアクセス許可/特定のユーザーを登録して許可しておく必要があるのです。今回の作例で使ったホットペッパーAPIのサーバー上には、(検索クエリの中で key=guest にしておけば)誰もがアクセスできる設定の crossdomain.xml が置いてあるので、作った swf を web にアップしてもきちんと動作してくれます。
  • その他詳細は CASA のドキュメントを見てください。

できた Fla ファイルも近日アップします。前にも書きましたが、一連のチュートリアルビデオは、ブログ中の1記事としてでなく、動画チュートリアルサイトとしてまとめるつもりなのですが、なかなか時間がとれません。サイト名はだいたいの映像が7分なので「trick7分ぐらい」にしようかと思っています。

Web標準の日々」では、これをベースに何かアプリを作る予定なのですが、こんな導入だけで16分にもなってしまったので、当日の持ち時間30分でどこまでいけるのか不安になりました。

Comments:8

qubi 07-07-15 (日) 23:35

こんにちは。
先日の外部ファイル使用にあたっての映像も同じくですが、わかりやすいです。
説明しているペースもとっても好感がもてます。
個人的にはもっとぐだぐだでもミスしてても全然構わないくらいです。

動画でみせてくれる、というのがやっぱり嬉しいです。
扱ってる内容としても高度過ぎず、全く触れてなかった人には勿論、
不安要素のままなんとなくやり過ごしてる人達にとっても、意味のあるものだと思います。
今後も楽しみにしています!

tera 07-07-16 (月) 0:29

>qubi様
はじめまして。いつもqubi様の作品を楽しませていただいておりましたので、コメントいただけて驚きました。ありがとうございます!
まだまだ手探り状態のビデオですが、見て下さっている方がいるというのは、とても励みになります。
ほんとは qubi様みたいに、より多くの人に見てもらえるような作品を作っていかないとと、焦っているのですが、創作の神がなかなか降臨しないので、とりあえずチュートリアル動画というアウトプットになってますw

引き続き、qubi様の作品楽しみにさせていただきます。
今後ともよろしくお願いいたします。

木本達朗 07-10-23 (火) 18:50

次回からCASAを導入したいと思っていたので、ビデオと記事がとても参考になりました。ありがとうございます。今後もFlash関係の記事を期待しています。

通りすがり 08-01-18 (金) 15:40

ビデオ分かりやすいですね!すごく参考になります。俺もCASAやるぞ〜!

くどう 08-01-23 (水) 23:17

ビデオ制作おつかれさまです。
とてもわかりやすくて勉強になりました。
本をよめ!といわれそうですがやっぱりビデオで制作過程を覗かさせていただくのは理解度が違います。

ありがとうございました

tera 08-01-24 (木) 13:48

どうもありがとうございますー。励みになります。
僕もビデオでの配信のパワーはいいなと思ってますので、
ちょっと作るのに時間がかかるのが難点ですが、今後も頑張ろうと思ってます。
今後ともよろしくお願いします。

riki 09-03-05 (木) 18:58

今更ながらですが、
非常にわかりやすく勉強になりました。
本当にありがとうございます。

tera 09-03-07 (土) 15:25

rikiさま
どうもありがとうございます。重ね重ねですが、「作ってよかったな」と励みになります。

Comment Form
Remember personal info

Trackbacks:0

Trackback URL for this entry
http://www.trick7.com/blog/2007/07/12-122156.php/trackback
Listed below are links to weblogs that reference
ビデオチュートリアル:CASA で XML をロード&パース from trick7

Moleskine Plain Notebook Large

アイデア帳として。

AS3習得本
AS3の全容を学習できる本。この中でどれか1冊自分に合ったものを。
Adobe Flash CS3 詳細! ActionScript 3.0 入門ノート (DVD-ROM付) Adobe Flash CS3 詳細! ActionScript3.0入門ノート2 (CD-ROM付) ActionScript3.0 プロフェッショナルガイド 初めてのActionScript 3.0 Flashユーザーのためのステップアップガイド 詳説 ActionScript 3.0 Actionscript 3.0 Cookbook
AS3発展本
ASでアニメーションさせる面白さを知るための本。最後のはPHP連携デビューにオススメの洋書。
Flash Math & Physics Design:ActionScript 3.0による数学・物理学表現[入門編] ActionScript 3.0 アニメーション AdvancED ActionScript 3.0 Animation (Advanced) Flash and PHP Bible (Bible (Wiley))
AS2
"Flash"ではなく"ActionScript2.0"学習のための良著。他にもいろいろ読んだけど、この4冊を読んだ後、自分が成長できた感じがしました。
FLASH ActionScript 2.0入門完全ガイド+実践サンプル集 [CD-ROM付] Essential Actionscript 2.0 Flash 8 Essentials Foundation Actionscript Animation: Making Things Move (Foundation)

Return to page top