Назначение свойств столкновения слоям на Tiled и их использование в Cocos2D - PullRequest
0 голосов
/ 06 апреля 2011

Недавно я следовал руководству по обнаружению столкновений в Cocos2D при использовании файлов tmx, созданных в tiled: http://www.raywenderlich.com/1186/collisions-and-collectables-how-to-make-a-tile-based-game-with-cocos2d-part-2

Хотя это будет очень полезно для меня, я также хочу иметь возможность обнаруживать свойства столкновенийплиток на всем слое, а не просто обнаружение свойств столкновения на отдельных плитках.

Я заметил на Tiled, что вы можете щелкнуть правой кнопкой мыши слой и назначить свойства так же, как вы можете с отдельной плиткой.

Внутри метода в моем коде у меня есть способ проверить свойства плитки:

CGPoint tileCoord = [self tileCoordForPosition:position];

int tileGid = [invisiblePropertiesLayer tileGIDAt:tileCoord];

if(tileGid){
    NSDictionary *properties = [theMap propertiesForGID:tileGid];

    if(properties){
        NSString *collision = [properties valueForKey:@"collidable"];
        if(collision && [collision compare:@"true"] == NSOrderedSame) {
            return;
        }
    }
}

Есть ли способ изменить это, чтобы проверить, сталкиваюсь ли я с ЛЮБОЙ плиткой на определенном слое?Спасибо!

1 Ответ

0 голосов
/ 07 апреля 2011

Кто-то еще сказал мне, как это сделать на другом форуме.Это было легко, как это:

    CGPoint tileCoord = [self tileCoordForPosition:position];

int tileGid = [blocksCollidable tileGIDAt:tileCoord];

if (tileGid)
    return;
...