2017-06-25 3 views
2
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を正しく使うか、私の目標を達成するために何を変えることができるかについての提案はありますか?私はそうしてください丁重に私のコードを判断し、これに非常に新しいです:)SpriteKit CGPathとSpriteMovement

答えて

1

(テストしていない)、これを試してみてください:

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

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

この行を置き換えますので、あなたが開始しますゾンビの現在の位置からの経路をオフにしてから、その位置からゾンビの意図した位置に線を追加します。

希望すると便利です。

+0

最初は動作しませんでしたが、asOffset = falseでコードを実行していました。ありがとう!私はあなたの答えを投票するだろうが、明らかに私は十分な評判を持っていない。 –

+0

@ B。Toasterあなたはまだチェックマークで答えたようにこのquesterionを選択することができます:) – Fluidity