SpriteKit CGPath和SpriteMovement

时间:2017-06-25 00:09:40

标签: sprite-kit 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))
}

我仍然在学习CGPaths,我的代码目标是让僵尸移动到0,0点。目前,僵尸产生并且只是它产生的地方。我不想使用moveTo,因为僵尸可能被某些东西阻挡,所以我希望僵尸能够以一定的速度移动而不是在一定时间内达到目的。有关如何正确使用CGPath或我可以改变以实现目标的任何建议?我是新手,所以请尊重我的代码:)

1 个答案:

答案 0 :(得分:1)

试试这个(未经测试):

替换此行

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

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

所以你用僵尸的当前位置开始关闭路径,然后从该位置添加一条线到僵尸的预定位置。

希望这有帮助!