コード例 #1
0
ファイル: TMXMapWriter.java プロジェクト: Y-way/tiled
  private void writeMap(Map map, XMLWriter w, String wp) throws IOException {
    w.writeDocType("map", null, "http://mapeditor.org/dtd/1.0/map.dtd");
    w.startElement("map");

    w.writeAttribute("version", "1.0");

    Map.Orientation orientation = map.getOrientation();
    w.writeAttribute("orientation", String.valueOf(orientation));
    w.writeAttribute("width", map.getWidth());
    w.writeAttribute("height", map.getHeight());
    w.writeAttribute("tilewidth", map.getTileWidth());
    w.writeAttribute("tileheight", map.getTileHeight());

    switch (orientation) {
      case HEXAGONAL:
        w.writeAttribute("hexsidelength", map.getHexSideLength());
      case STAGGERED:
        w.writeAttribute("staggeraxis", String.valueOf(map.getStaggerAxis()));
        w.writeAttribute("staggerindex", String.valueOf(map.getStaggerIndex()));
    }

    writeProperties(map.getProperties(), w);

    firstGidPerTileset = new HashMap<>();
    int firstgid = 1;
    for (TileSet tileset : map.getTileSets()) {
      setFirstGidForTileset(tileset, firstgid);
      writeTilesetReference(tileset, w, wp);
      firstgid += tileset.getMaxTileId() + 1;
    }

    for (MapLayer layer : map) {
      writeMapLayer(layer, w, wp);
    }
    firstGidPerTileset = null;

    w.endElement();
  }