Sprite kit SpriteKit CGPath和SpriteMovement

Sprite kit SpriteKit CGPath和SpriteMovement,sprite-kit,cgpath,Sprite Kit,Cgpath,我仍在学习CGPATH,我编写这段代码的目的是让僵尸移动到0,0点。目前,僵尸产卵,只是坐在它产卵的地方。我不想使用moveTo,因为僵尸可能会被某些东西阻挡,所以我希望僵尸以一定的速度移动,而不是在一定时间内到达某个点。关于如何正确使用CGPath或者我可以改变什么来实现我的目标,有什么建议吗?我对此非常陌生,因此请尊重地评判我的代码:)试试这个(未测试): 更换这条线 func zombieAI() { let zombieGreen = SKSpriteNode(imageName

我仍在学习CGPATH,我编写这段代码的目的是让僵尸移动到0,0点。目前,僵尸产卵,只是坐在它产卵的地方。我不想使用moveTo,因为僵尸可能会被某些东西阻挡,所以我希望僵尸以一定的速度移动,而不是在一定时间内到达某个点。关于如何正确使用CGPath或者我可以改变什么来实现我的目标,有什么建议吗?我对此非常陌生,因此请尊重地评判我的代码:)

试试这个(未测试):

更换这条线

func zombieAI() {
    let zombieGreen = SKSpriteNode(imageNamed: "Zombie")
    zombieGreen.setScale(0.3)
    zombieGreen.zPosition = 3
    zombieGreen.physicsBody?.affectedByGravity = false //change this later
    zombieGreen.position = CGPoint(x: 200, y: 200)
    self.addChild(zombieGreen)
    let goToTurret = CGMutablePath()
    goToTurret.move(to: CGPoint(x: 0, y: 0))
    zombieGreen.run(SKAction.follow(goToTurret, speed: 1.0))
}

因此,从僵尸的当前位置开始创建路径,然后从该位置添加一条线到僵尸的预期位置


希望这有帮助

起初它不起作用,但后来我用asOffset=false运行代码,它起作用了。谢谢我会投票支持你的答案,但显然我没有足够的声誉。@B.Toaster你仍然可以选择这个问题,通过复选标记回答:)
 goToTurret.move(to: CGPoint(x: 0, y: 0))
goToTurret.move(to: zombieGreen.position)
goToTurret.addLine(to: CGPoint(x: 0, y: 0))