SpriteKit CGPath 和 SpriteMovement

SpriteKit CGPath and SpriteMovement

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))
}

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

试试这个(未测试):

替换此行

 goToTurret.move(to: CGPoint(x: 0, y: 0))

goToTurret.move(to: zombieGreen.position)
goToTurret.addLine(to: CGPoint(x: 0, y: 0))

所以你从僵尸的当前位置开始路径,然后从那个位置添加一条线到僵尸的预期位置。

希望对您有所帮助!