В моем приложении Розовое сердце хочет перейти к красному! Но, как вы видите, путь заблокирован.
Код, который я использую:
let solution = GridGraph.findPath(from: GridGraph.node(atGridPosition:int2(Int32(pinkHeart.positon.x),Int32(pinkHeart.positon.y)))!,to:GridGraph.node(a[enter image description here][1]tGridPosition:int2(Int32(redHeart.positon.x),Int32(redHeart.positon.y)))!) as! [GKGridGraphNode]
Но приложение всегда вылетает, потому что нет пути!
Если я хочу найти путь от розового сердца к желто-зеленому, код работает.
Я пробовал много разных способов решить проблему, но, похоже, ничего не работает ...
например:
do {
let solution = try GridGraph.findPath(from:GridGraph.node(atGridPosition:int2(Int32(pinkHeart.positon.x),Int32(pinkHeart.positon.y)))!, to:GridGraph.node(atGridPosition: int2(Int32(redHeart.positon.x),Int32(redHeart.positon.y)))!) as! [GKGridGraphNode]
} catch {
print("no path found")
}
или
if let solution = GridGraph.findPath(from:GridGraph.node(atGridPosition:int2(Int32(pinkHeart.positon.x),Int32(pinkHeart.positon.y)))!, to:GridGraph.node(atGridPosition: int2(Int32(redHeart.positon.x),Int32(redHeart.positon.y)))!) as! [GKGridGraphNode] {
//Do something!
}
Я пробовал еще много возможных решений, но оно всегда давало сбой ...
Спасибо за вашу помощь!
То есть изображение: