Hi Lizhi,

Your email did not format well, but IMO, you are seeing expected behavior
in the Google Closure Compiler optimization.  Unless you specify
otherwise, the GCC will rename variables, properties, etc.  Using straight
up JSON can be tricky in such situations.  You may have to specify and
even use a class definition for the JSON data structure.

-Alex

On 2/16/16, 6:59 PM, "lizhi" <s...@qq.com> wrote:

>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(&quot;\/&quot;)+1);                     
>loader.load(new URLRequest(&quot;../../assets/tmx/&quot;+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 &lt;
>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-tiles
>ets-tp51581.html
>Sent from the Apache Flex Development mailing list archive at Nabble.com.

Reply via email to