Posted By

daisuke103 on 02/11/08


Tagged

textmate xml load media interface CASA bytes util percent


Versions (?)

AS2 CASA LoadGroup XML 一括読み込みとパーセント表示


 / Published in: Other
 

  1. /* ここから */
  2. /*
  3. CASAフレームワーク総合
  4. TwitterのuserとfriendsのRSSをまとめて読み込むサンプル
  5.  
  6. 「LoadGroup」を使うと複数のxmlや画像を一括管理で読み込む事ができる。
  7. 「new Percent(25)」の部分。読み込む対称に対して全体の何パーセントを割り当てるか、を設定できる。ここでは1つ目のxmlを読み込んだ時点で全体の25%読込完了となる。
  8. 「getXML()」でxmlに変換してやりtrace文にはTwitterの最新タイトルがそれぞれ表示
  9. ちなみに画像をまとめて読み込む場合は「MediaLoad」クラスを使います。
  10. */
  11.  
  12. import org.casaframework.load.LoadGroup
  13. import org.casaframework.load.base.BytesLoadInterface;
  14. import org.casaframework.load.data.xml.XmlLoad;
  15. import org.casaframework.load.media.MediaLoad;
  16. import org.casaframework.math.Percent;
  17. import org.casaframework.util.XmlUtil;
  18.  
  19. //-----[xmlの取得先]
  20. var userXML:XmlLoad = new XmlLoad("http://twitter.com/statuses/user_timeline/6023282.rss?"+getTimer());
  21. var friendsXML:XmlLoad = new XmlLoad("http://twitter.com/statuses/friends_timeline/6023282.rss?"+getTimer());
  22. var myLoadGroup = new LoadGroup();
  23.  
  24. //-----[初期化関数]
  25. init();
  26. function init()
  27. {
  28. //-----[ロードオブジェクトを追加]
  29. myLoadGroup.addLoad(userXML, new Percent(25));
  30. myLoadGroup.addLoad(friendsXML, new Percent(75));
  31.  
  32. //-----[オブザーバーの登録]
  33. myLoadGroup.addEventObserver(this, LoadGroup.EVENT_LOAD_PERCENT, "onGroupLoadPercent");
  34. myLoadGroup.addEventObserver(this, LoadGroup.EVENT_LOAD_ERROR, "onGroupLoadError");
  35. myLoadGroup.addEventObserver(this, LoadGroup.EVENT_LOAD_COMPLETE, "onGroupLoadComplete");
  36. myLoadGroup.start();
  37. }
  38.  
  39. //-----[ロードグループイベントハンドラー]
  40. function onGroupLoadPercent(sender:LoadGroup, progress:Percent):Void
  41. {
  42. trace("My group is " + progress.getPercentage() + "% loaded.");
  43. }
  44.  
  45. function onGroupLoadError(sender:LoadGroup, failedLoad:BytesLoadInterface):Void
  46. {
  47. myLoadGroup.removeLoad(failedLoad);
  48. myLoadGroup.start();
  49. }
  50.  
  51. function onGroupLoadComplete():Void
  52. {
  53. trace("xml complete");
  54.  
  55. var userObj:Object = XmlUtil.xmlToObject(userXML.getXml())['rss'][0]['channel'][0]['item'];
  56. var friendsObj:Object = XmlUtil.xmlToObject(friendsXML.getXml())['rss'][0]['channel'][0]['item'];
  57.  
  58. trace(userObj[1].title[0].nodeValue);
  59. trace(friendsObj[1].title[0].nodeValue);
  60. }

Report this snippet  

You need to login to post a comment.