SKTiledMap 1.0.0

SKTiledMap 1.0.0

测试已测试
语种语言 Obj-CObjective C
许可证 MIT
发布上次发布2015年6月

Jasio Woo 维护。




  • 作者:
  • Jasio Woo

SpriteKit 的 TMX TileMap 框架。支持 iOS 8 和 OS X 10.10 及以上版本。

这是一个解析由 Tiled Map Editor 生成的地图的库。

安装

  • Cocoapods
    1. pod 'SKTiledMap'
    2. #import <SKTiledMap/SKTiledMap.h> 添加到您的源文件中。
  • 手动安装
    1. 下载最新代码版本
    2. 在 Xcode 中打开您的项目,然后将文件夹拖入您的项目
    3. 配置 依赖项
    4. #import 'SKTiledMap.h' 添加到您的源文件中。

基本用法

SKTMMapLayer *mapLayer = [[SKTMMapLayer alloc] initWithContentsOfFile:@"map.tmx"];
[self addChild:mapLayer];

// get tile layer
SKTMTileLayer *tileLayer = [mapLayer tileLayerWithName:@"Ground"];

// get object layer
SKTMObjectGroupLayer *objLayer = [mapLayer objectLayerWithName:@"Obj"];
// get shape in object layer
SKTMObjectGroupShape *heroObjShape = [objLayer shapeWithName:@"Hero"];
// get custom properties
[heroObjShape.model propertyForName:@"status"];

// get image layer
SKTMImageLayer *imgLayer = [mapLayer imageLayerWithName:@"Background"];

// Coordinates System Convert
CGPoint tilePoint = [mapLayer.mapRenderer screenToTileCoords:CGPointMake(320, 600)];
CGPoint mapPoint = [mapLayer.mapRenderer tileToScreenCoords:CGPointMake(1, 1)];

// more detail you can see in demo or source code.

功能

  • 所有地图类型
    • 正交
    • 等距
    • 等距(交错)
    • 六边形(交错)
  • 所有 TileLayerFormat
    • XML
    • Base64(未压缩)
    • Base64(gzip 压缩)
    • Base64(zlib 压缩)
    • CSV
  • 所有瓦片渲染方式
    • 交错轴(X,Y)
    • 交错索引(奇数,偶数)
    • 瓦片渲染顺序(右下,右上,左下,左上)
    • 翻转/旋转瓦片或对象
  • 所有对象组形状
    • 矩形
    • 椭圆
    • 多边形
    • 折线
  • 动画瓦片支持

路线图

参考TMX 地图格式参考页面

SKTiledMap(root)
└── Framework
    │
    │-- SKTiledMap.h
    │
    ├── Model
    │   |-- TMXObject
    │   |-- TMXTile
    │   |-- TMXTileset
    │   |-- TMXTileLayer
    │   |-- TMXObjectGroupNode
    │   |-- TMXObjectGroup
    │   |-- TMXImageLayer
    │   |-- TMXMap
    │
    ├── Classes
    │   |-- SKMapRenderer
    │   |-- OrthogonalRenderer
    │   |-- IsometricRenderer
    │   |-- StaggeredRenderer
    │   |-- HexagonalRenderer
    │
    └── SpriteKitNode
        |-- SKTMNode
        |-- SKTMTileNode
        |-- SKTMObjectGroupTile
        |-- SKTMObjectGroupShape
        │
        |-- SKTMLayer
        |-- SKTMTileLayer
        |-- SKTMObjectGroupLayer
        |-- SKTMImageLayer
        |-- SKTMMapLayer

依赖项

  • 用于解析 XML 的 Ono
  • libz.dylib
  • SpriteKit.framework

示例

SKTiledMap-Mac

  • iOS

SKTiledMap

许可证

SKTiledMap 在 MIT 许可下发布。有关详细信息,请参阅 LICENSE

示例贴图集艺术品由 Steffan (TilemapKit) 授权使用。

图片归属权

一些截图显示了开源的 Tiled Map Editor。TilemapKit 和此网站上的某些图像来自 OpenGameArt.org

以下是 TilemapKit 使用的图像的完整列表,包括 OpenGameArt 作者/贡献者、许可证和源链接。

如果您发现任何可能缺少或错误署名的图片,请告知我,谢谢。