1
[layer tileGIDAt:position]
如果我給它一個地圖外的位置,我會得到一個斷言失敗,這是正常的。檢查tile是否存在,但沒有聲明失敗?
我需要一種方法來知道瓷磚何時存在。在運行上面的代碼之前,我沒有得到Assertion Failure,並且在tile不存在的情況下也做其他事情。但我怎麼能? CCTMXLayer類中沒有方法來檢查它嗎?
[layer tileGIDAt:position]
如果我給它一個地圖外的位置,我會得到一個斷言失敗,這是正常的。檢查tile是否存在,但沒有聲明失敗?
我需要一種方法來知道瓷磚何時存在。在運行上面的代碼之前,我沒有得到Assertion Failure,並且在tile不存在的情況下也做其他事情。但我怎麼能? CCTMXLayer類中沒有方法來檢查它嗎?
測試是否存在瓷磚,測試該瓦片GID爲0,你可以測試位置在tilemap的這樣前:
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 …
}
}