package { import flash.display.Bitmap; import flash.display.Loader; import flash.display.LoaderInfo; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.geom.Matrix; import flash.net.URLLoader; import flash.net.URLRequest; import flash.text.TextField; import spriteflexjs.Stats; /** * ... * @author lizhi */ public class TestTMX extends Sprite { private var tmxloader:URLLoader; private var pngs:Array = []; private var tmxobj:Object; public function TestTMX() { tmxloader = new URLLoader(new URLRequest("../../assets/tmx/sewers.json")); tmxloader.addEventListener(Event.COMPLETE, tmxloader_complete); stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; addChild(new Stats); } private function tmxloader_complete(e:Event):void { tmxobj = JSON.parse(tmxloader.data + ""); loadNextTile(); } private function loadNextTile():void { if (pngs.length<tmxobj.tilesets.length) { var loader:Loader = new Loader; loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete); var tset:Object = tmxobj.tilesets[pngs.length]; var url:String = tset.image; url = url.slice(url.lastIndexOf("\/")+1); loader.load(new URLRequest("../../assets/tmx/"+url)); }else { init(); } } private function loader_complete(e:Event):void { pngs.push(((e.currentTarget as LoaderInfo).content as Bitmap).bitmapData); loadNextTile(); } private function init():void { var tw:Number = tmxobj.tilewidth; var th:Number = tmxobj.tileheight; for each(var layer:Object in tmxobj.layers) { for (var i:int = 0; i < layer.data.length; i++ ) { var id:int = layer.data[i]; if(id>0){ var tset:Object = tmxobj.tilesets[0]; var fg:int = tset.firstgid; var x:int = int(i % layer.width); var y:int = int(i / layer.width); var ttw:int = tset.tilewidth; var tth:int = tset.tileheight; var numCols:int = tset.imagewidth/ttw; var tx:int = int((id-fg) % numCols); var ty:int = int((id - fg) / numCols); graphics.beginBitmapFill(pngs[0],new Matrix(1,0,0,1,x*tw-tx*ttw,y*th-ty*tth)); graphics.drawRect(x * tw, y * th, tw, th); } } } } }} and i can not find "tilesets" in the js-release/
-- View this message in context: http://apache-flex-development.2333347.n4.nabble.com/flexjs-eat-json-tilesets-tp51581.html Sent from the Apache Flex Development mailing list archive at Nabble.com.