let tileRow = self.tileMap.tileRowIndex(fromPosition: point)
Допустим, у tileMap
есть 20 строк, 20 столбцов, каждый 100x100. Если point
является положительным значением, превышающим границы tileMap
, он вернет 20 (считая от 0, поэтому индекс предназначен для следующей несуществующей строки). Если point
является отрицательным значением с абсолютным значением, превышающим границы tileMap
, он вернет 0, поэтому первая строка, которая действительно существует. Это проблема для проверки, выходит ли игрок за пределы tileMap
, потому что он будет продолжать снижаться, так как функция всегда будет возвращать 0 для предыдущего случая.