我正在尝试在一个星球周围制作太空飞船轨道。我目前在做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
动作,玩家直接远距传物在地球下方,然后开始沿着路径。有没有办法让玩家沿着目前玩家的路径开始玩?我愿意彻底改变我如何让船只在一个圆圈内移动,只要他开始他在哪里,绕着一个星球绕行。
不幸的是,这不会达到我期待的目标。它可能在其他情况下工作,但在我的情况下,对象有物理机构,如果我尝试了类似的东西,就会发生碰撞。 (我想让它们碰撞,但不是在这种情况下) –