我正在嘗試在一個星球周圍製作太空飛船軌道。我目前在做Xcode Swift SKAction.follow起點
let playerPos = player.position
let planetPos = planet.position
let radius = playerPos.x - planetPos.x
let rect = CGRect(x: planetPos.x - radius, y: planetPos.y - radius, width: 2 * radius, height: 2 * radius)
let bezPath = UIBezierPath(roundedRect: rect, cornerRadius: 0)
let path = bezPath.cgPath
let shape = SKShapeNode(path: path)
shape.strokeColor = .blue
shape.zPosition = 10
self.addChild(shape)
let move = SKAction.follow(path, asOffset: false, orientToPath: true, speed: 200)
,這將創建一個正確的路徑,screenshot
然而,當我嘗試運行move
動作,玩家直接遠距傳物在地球下方,然後開始沿着路徑。有沒有辦法讓玩家沿着目前玩家的路徑開始玩?我願意徹底改變我如何讓船隻在一個圓圈內移動,只要他開始他在哪裏,繞着一個星球繞行。
不幸的是,這不會達到我期待的目標。它可能在其他情況下工作,但在我的情況下,對象有物理機構,如果我嘗試了類似的東西,就會發生碰撞。 (我想讓它們碰撞,但不是在這種情況下) –