메신저 게임을하는 중이며 경로를 따라 가면서 SpriteNode의 zRotation에 대한 질문이 있습니다. Swift SpriteKit -ZRotation in SKAction 경로를 따라
임이 Shape의 UIBezierPath를 사용하여 :
그래서 나는이처럼 보이는 ShapeNode 있습니다.이제는이 경로의 중간에서 시작하여 왼쪽에서 오른쪽으로 임의로 이동하는 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)
}
이 들어
제가
2 개 기능을 갖는다. (이 코드는 내 질문에 중요하지 않으므로 여기서는 예제 코드에서 제거했습니다.)이 새 경로 (SKAction 용)는 SpriteNode의 실제 위치에서 시작하여 오른쪽으로 이동합니다. (새로운 움직임이 남아있는 경우) 왼쪽으로 이동하여 이전 시작/끝점으로 이동합니다.
내 문제는 지금 왼쪽으로 이동하면 SpritesNodes zRotation은 정확히 내가 원하는 방식입니다. 노드는 화면의 상단을 "봤다". 오른쪽으로 이동하면 SpriteNodes zRotation이 좋지 않습니다. 이제 노드가 화면 하단을 가리키며 매우 추합니다.
Ive가 다른 것을 시도했습니다. SpriteNode (회전)에 사용하는 이미지가 변경되었습니다. 액션으로 SpriteNode의 zRotation을 변경하려고했습니다. 아무것도 도움이되지 않습니다. 물론 내 SKAction에서 나는 "orientToPath = true"라고 말하고 있기 때문입니다. 지금 묻고있는 Im ... SpriteNode를 항상 화면의 맨 위로 "찾는"쉬운 방법이 있습니까? 아니면 update() 함수에서 zRotation을 수동으로 변경해야합니까?
SKAction.follow (orientToPath)에이 속성이 있기 때문에 묻습니다.이 경우에는 사용할 수 있는지 직접 물어보고 있지만, 필요에 따라 조금만 변경할 수있는 방법이 있는지 묻습니다. 또는 이것이 가능하지 않은 경우 - 경로가 왼쪽으로가는 경우 왜 orientToPath가 오른쪽으로가는 경로의 orientToPath와 다른가요?
다음은 내 문제에 대한 동영상입니다. 어쩌면 그게 더 쉽게 보이는지 알 수 있습니다. https://youtu.be/vLH5nUlE91U
'sprite.yScale = -1' 및/또는'sprite.xScale = -1'을 설정해 보셨습니까? – 0x141E
그것은 일했다. .. omg - 매우 쉽다. .. 당신의 도움에 감사드립니다! – aignetti