我正在开发一个迷你游戏,并且已经使用Tiled程序绘制了地图。假设我使用了由三张图片组成的图块;如何将它们“转换”为SKSpriteNodes?假设有一个图块代表角色,三个图块代表地面。我希望这四个是精灵节点。

提前致谢

最佳答案

我无法为您提供Swift版本,但请查看以下图片,以更好地了解我在说什么。

在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);
    }

09-20 02:06