[layer tileGIDAt:position]
如果我在地图之外给它一个位置,我会得到一个断言失败,这是正常的。
我需要一种方法来了解瓷砖何时存在。在运行上面的代码之前,我没有得到断言失败,并且在瓦片不存在的情况下也做其他事情。但我怎么能这样? CCTMXLayer类中没有方法来检查它吗?
答案 0 :(得分:2)
要测试是否存在图块,请测试图块GID是否为0.在此之前,您可以测试位置是否位于图块图上:
if (position.x < layer.size.width &&
position.y < layer.size.height &&
position.x >= 0 && position.y >= 0)
{
// position is within tilemap layer …
if ([layer tileGIDAt:position] != 0)
{
// tile at position exists …
}
}