Advertisement
Guest User

LevelUp XML Map Import for FlashPunk

a guest
Dec 1st, 2012
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. package  
  2. {
  3.     import flash.utils.ByteArray;
  4.     import net.flashpunk.Entity;
  5.     import net.flashpunk.graphics.Tilemap;
  6.    
  7.     public class Level extends Entity
  8.     {      
  9.         [Embed(source = "assets/tileset.png")]
  10.         private const Tileset1:Class;
  11.        
  12.         [Embed(source = 'assets/map4.xml', mimeType = 'application/octet-stream')]
  13.         private static const mapXML:Class;
  14.        
  15.         public var tiles:Tilemap;
  16.            
  17.         public function Level()
  18.         {
  19.             loadMap();
  20.             graphic = tiles;
  21.         }
  22.        
  23.         private function loadMap():void
  24.         {
  25.             var rawData:ByteArray = new mapXML;
  26.             var dataString:String = rawData.readUTFBytes(rawData.length);
  27.             var xmlData:XML = new XML(dataString);         
  28.            
  29.            
  30.             var width:int = xmlData.@Width;
  31.             var height:int = xmlData.@Height;
  32.             var tilewidth:int = xmlData.@TileWidth;
  33.             var tileheight:int = xmlData.@TileHeight;
  34.            
  35.             tiles = new Tilemap(Tileset1, width * tilewidth, height * tileheight, tilewidth, tileheight);
  36.            
  37.             for each(var layer:XML in xmlData.Layer)
  38.             {
  39.                 for each (var tile:XML in layer.Tile)
  40.                 {
  41.                     var x:int = tile.@X;
  42.                     var y:int = tile.@Y;
  43.                     var id:int = tile.@Id;
  44.                     var ts:int = tile.@Tileset;
  45.                    
  46.                     var i:int = 0;
  47.                     tiles.setTile(x, y, id);
  48.                 }
  49.             }
  50.         }
  51.        
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement