#objective-c #cocos2d-iphone
#objective-c #cocos2d-iphone
Вопрос:
[layer tileGIDAt:position]
Если я задаю ей позицию за пределами карты, я получаю сбой утверждения, что просто нормально.
Мне нужен способ узнать, когда плитка существует. Перед запуском приведенного выше кода, чтобы я не получил сбой утверждения, а также для выполнения других действий на случай, если плитка не существует. Но как я могу? Разве в классе CCTMXLayer нет метода для проверки этого?
Ответ №1:
Чтобы проверить, существует ли плитка, проверьте, равен ли GID плитки 0. Перед этим вы можете проверить, находится ли позиция на tilemap как таковая:
if (position.x < layer.size.width amp;amp;
position.y < layer.size.height amp;amp;
position.x >= 0 amp;amp; position.y >= 0)
{
// position is within tilemap layer …
if ([layer tileGIDAt:position] != 0)
{
// tile at position exists …
}
}