Posted By

daisuke103 on 02/14/08


Tagged

image textmate replace xml load media as2 CASA rect getload group


Versions (?)

AS2 CASA ロードした画像をタイル上に並べる


 / Published in: Other
 

  1. import org.casaframework.load.data.xml.XmlLoad;
  2. import org.casaframework.util.XmlUtil;
  3. import org.casaframework.load.LoadGroup;
  4. import org.casaframework.load.media.MediaLoad;
  5. import org.casaframework.math.geom.Rectangle;
  6. import org.casaframework.layout.DistributionCollection;
  7.  
  8. var xmlObject:Object;
  9. var myLoadGroup:LoadGroup;
  10. var myXmlLoad:XmlLoad;
  11.  
  12. loadXmlData();
  13.  
  14. // XML 読み込み
  15. function loadXmlData(){
  16. trace("xml start");
  17. this.myXmlLoad = new XmlLoad('data/sample.xml'); // xmlのパスを記入
  18. this.myXmlLoad.addEventObserver(this, XmlLoad.EVENT_LOAD_COMPLETE, 'onXmlLoad');
  19. this.myXmlLoad.start();
  20. }
  21.  
  22. // XML読み込み完了
  23. function onXmlLoad(){
  24. trace("xml load complete");
  25. this.xmlObject = XmlUtil.xmlToObject(this.myXmlLoad.getXml())['data'][0]['block']; // + 〜getXml())['data'][0]['keyword']でxmlのルート-0番目->一番目の要素...と取り出す
  26. init();
  27. }
  28.  
  29. function init():Void {
  30. myLoadGroup = new LoadGroup();
  31. trace(xmlObject.length);
  32. for (var i:Number = 0; i<xmlObject.length; i++) {
  33. var rect:MovieClip = this.createEmptyMovieClip("rect"+i,getNextHighestDepth());
  34. var holder:MovieClip =rect.createEmptyMovieClip("holder",getNextHighestDepth());
  35. myLoadGroup.addLoad(new MediaLoad(holder,xmlObject[i].img[0].nodeValue)); // ロードする画像のパスの位置
  36. }
  37. myLoadGroup.addEventObserver(this, LoadGroup.EVENT_LOAD_COMPLETE, "onGroupLoadComplete");
  38. myLoadGroup.start();
  39. }
  40.  
  41.  
  42. function onGroupLoadComplete(){
  43. trace("全画像ロード完了");
  44. //loading._visible = false;
  45. var _dist:DistributionCollection;
  46. _dist = new DistributionCollection( true );
  47. _dist.setRectangle(new Rectangle(0, 0, 350, Number.POSITIVE_INFINITY));
  48. _dist.setMargin(10, 10, 10, 10);
  49. var thumbs:Array = myLoadGroup.getLoads();
  50. trace(thumbs.length);
  51. for(var i:Number=0;i<thumbs.length;i++){
  52. var mc:MovieClip = thumbs[i].getMovieClip();
  53. //配列に格納される順番が逆転してるのに注意!
  54. trace(thumbs[i].getMovieClip());
  55. //CASA のドキュメントのサンプルはライブラリの中からシンボルを attachMovie してるサンプルなので、
  56. //今回は mc を追加していくだけでOKです。
  57. _dist.addItem(mc);
  58. }
  59. _dist.positionItems();
  60. trace(_dist);
  61. }

Report this snippet  

You need to login to post a comment.