私はゲームで作業しています。私は今、パスをたどりながらSpriteNodeのzRotationに質問しました。Swift SpriteKit - SKActionのzRotationをパスに従います
イムこのShapeのためUIBezierPathを使用します。
私はSpriteNodeをこのパスの途中から開始し、左から右へランダムに移動します。方向SpriteNodeの新しいパスの各変化を計算イムこの機能でも
func FischRechtsBewegen(){ //for moving right
FischNode1.removeAllActions()
let BewegeRechts = SKAction.follow(FischKurveRechts.cgPath, asOffset: false, orientToPath: true, duration: 6)
FischNode1.run(BewegeRechts)
}
func FischLinksBewegen(){ //for moving left
FischNode1.removeAllActions()
let BewegeLinks = SKAction.follow(FischKurveLinks.cgPath, asOffset: false, orientToPath: true, duration: 6)
FischNode1.run(BewegeLinks)
}
このため
iは2つの機能を有しています。 (このコードは私の質問では重要ではないのでここでは私のサンプルコードで削除した)
この新しいパスは、SpriteNodeの実際の位置から始まり、 (新しい動きが残っている場合)、古いスタート/エンドポイントへのカーブを使って左に移動します。
私の問題は今ある:左に移動するときは SpritesNodes zRotationは、私はそれをしたい正確にどのようです。ノードは、画面の上部を「見る」。右に移動すると、SpriteNodes zRotationは良くありません。ノードは画面の一番下を指していますが、これは非常に醜いです。
Iveは別のものを試しました。私はSpriteNode(回転しているもの)用の画像を変更しました。私はアクションでSpriteNodeのzRotationを変更しようとしました。何も役立ちません。もちろん、私のSKActionでは "orientToPath = true"と言っているからです。 SpriteNodeを常に画面の上部を見ている簡単な方法か、update()関数でzRotationを手動で変更する必要がありますか?
SKAction.follow(orientToPath)にこのプロパティがあり、私がこのケースでそれを使用できるかどうかを尋ねているので、私の必要性のために少し変更する方法があるかどうか聞いています。または、これが不可能な場合 - パスが左に行く場合、右に行くパスのorientToPathとorientToPathが異なるのはなぜですか?
これは私の問題のビデオです https://youtu.be/vLH5nUlE91U
'sprite.yScale = -1'や' sprite.xScale = -1'を設定しようとしましたか? – 0x141E
それは働いた.. omg - とても簡単です..助けてくれてありがとう! – aignetti