Я не могу помочь вам с Swift версии, но посмотрите на фотографии ниже, чтобы получить лучшее понимание того, что я имею в виду.
Создание слоя объекта в плитке.
Создание объектов в вашей карте и назовите их.
Я предполагаю, что вы используете приложение Плиточные создавать свои карты. Вы можете создать слой объекта для своей карты в приложении 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);
}
Вы спрашиваете, как разместить эти изображения на экране? – sangony
Нет, они появляются на экране при загрузке tilemap. Но то, что я прошу, это то, что, например, у меня есть символ на экране (из файла tilemap.tmx), который я хочу сделать с помощью таких файлов, как SKActions. Как я могу «преобразовать» все типы единиц в SKSpriteNodes? Предположим, что у меня есть персонаж 1 игрока и 3 монстра в моем слое. Я хочу, чтобы они были SKSpriteNodes, поэтому я могу взаимодействовать с ними с действиями. – toom4ny
Чтобы упомянуть, я использовал разные слои. Поэтому всякий раз, когда я помещаю персонажа, я назвал его «Боб» в моем tilemap (используя программу Tiled). Может быть, это поможет мне, но я понятия не имею. – toom4ny