게임에서이 지연이나 더듬이가 발생하며 카메라가 내 플레이어를 따라 다니는 방식 때문일 수 있습니다. 여기 플레이어를 따라갈 때 SpriteKit 카메라가 더듬 거리는 경우
코드입니다 :func update(_ hp: CGPoint) {
let camMove = SKAction.move(to: CGPoint(x: hp.x, y: hp.y), duration: 0.2)
self.run(camMove)
}
위의 기능은 SKCameraNode에 대한 확장에 나는 장면 업데이트 기능에서 기본적를 호출합니다.
그것은 모든 프레임이라고하기 때문에 겹침 동작으로 인해 누군가가 말을 할 수도 있지만 꽤 잘 작동합니다. 이 방법을 사용하면 지속 시간이 카메라가 자연스럽지 않고 딱딱해질 수 있기 때문입니다.
이 SKAction 중복을 제거하기 위해이 대안을 찾고 있습니다.
새로운 동작을 실행하기 전에 removeallActions() 호출을 추가하려고 시도했지만 카메라가 전혀 움직이지 않아 빨리 수행해야합니다. 또한 액션에 키를 추가하고 다음 키를 시작하기 전에 키로 제거하려고했지만 removeallActions()와 마찬가지로 카메라가 움직이지 않습니다.
은 또한 다음과 같은 시도 :func moveCam(_ point: CGPoint) {
let camMove = SKAction.move(to: CGPoint(x: point.x, y: point.y), duration: 0.2)
self.run(camMove) {
self.moveCam(player.position)
}
}
이것은 중복을 중지하지만, 하나의 종료 작업을 지속적으로 못생긴 더듬을 일으키는 또 다른 결말의 사이에 약간의 지연이있다.
나는 행동에 따라 SKAgents를 사용하려고 시도하고 있지만 이것이 어떻게 이루어 지거나 잘 될지 확실하지 않습니다. 어떤 제안이나 해결책이라도 대단히 감사하겠습니다.
당신은 무한 루프를 만들고 있습니다 – Knight0fDragon
나중에 알고 있습니다 ... 완성 된 블록은 다른 스레드에서 실행되어야하므로 아무런 문제가 없습니다. 그 사이의 지연을 제외하고는 ... – Discoveringmypath
또한 그 지연을 고칠 지 모르겠다. 카메라를 전혀 움직이지 않은 다른 솔루션을 테스트 할 때. 나는 여전히 선수들과 놀 수 있었고 나는 같은 지연/말더듬이를 가졌습니다 ... 어느 쪽이든 가능하다면 이것을 최적화하고 싶습니다. – Discoveringmypath