在XCode Swift中将tile转换为sprite节点

时间:2015-05-21 16:49:41

标签: ios sprite-kit tiles skspritenode

我正在开发一款迷你游戏,我已经使用Tiled程序绘制了地图。我们假设我使用了三张图片的图块集;我如何转换'他们到SKSpriteNodes?让我们说有一个瓦片代表角色,三个瓦片代表地面。我希望这四个是精灵节点。

提前致谢

1 个答案:

答案 0 :(得分:1)

我无法帮助您使用Swift版本,但请查看下面的图片,以便更好地了解我正在谈论的内容。

在平铺中创建对象图层。

enter image description here

在地图中创建对象并为其命名。

enter image description here

我假设您正在使用Tiled应用程序来创建地图。您可以在Tiled应用程序中为地图创建对象图层。完成后,只需在地图中创建各种对象即可。例如,创建几个名为“敌人”的对象。此对象层将由JSTileMap读取,您可以在代码中访问,如下所示:

TMXObjectGroup *group = [tiledMap groupNamed:@"objectLayer"];
// make sure the you use the same groupNamed as is in your map!

NSArray *floorObjects = [group objectsNamed:@"enemy"];
    for (NSDictionary *floorObj in floorObjects)
    {
        CGFloat x = [floorObj[@"x"] floatValue];
        CGFloat y = [floorObj[@"y"] floatValue];
        CGFloat w = [floorObj[@"width"] floatValue];
        CGFloat h = [floorObj[@"height"] floatValue];

        // create your SKSpriteNode here
        // use the x, y as the node's position in the map
        // myNode.position = CGPointMake(x, y);
    }