저는 SpriteKit에서 게임을 제작하고 있습니다. 최근 내 프레임 속도 문제가 60에서 50-45로 계속 떨어졌고 GameScene
에서 열리고 두 번째 지연은 내 StartScene
에서 GameScene
. 나는 여러가지 것을 시도해 보았고, 주요 문제점 중 하나가 매우 자주 발생하는 SKSpriteNode 서브 클래스에 애니메이션을 적용하는 것과 관련이 있다고 믿습니다. 애니메이션을 멈추고 프레임 속도가 60으로 유지되는 단일 텍스처를 사용합니다. 이전에 posted 텍스처를 SpriteKit에 미리로드하는 방법에 대해 알아보고 멋진 답변을 얻었지만 완전히 이해하지 못했을 수 있습니다. 이 시점에서 나는 하나의 아틀라스 내 GameScene
모든 질감을 가지고 내 GameScene
하기 전에 각 권리에 대한 상수를 만들어 그들 모두를로드미리로드 한 후 SpriteKit 장면 전환 지연 및 프레임 속도 저하
//Preload textures of GameScene before running it
let alienTexture1 = SKTextureAtlas(named:"Sprites").textureNamed("alienTexture1")
let alienTexture2 = SKTextureAtlas(named:"Sprites").textureNamed("alienTexture2")
...
class GameScene: SKScene, SKPhysicsContactDelegate {
내가 사용하도록되어있어 알고 :
SKTextureAtlas(named: "YourTextureAtlasName").preloadWithCompletionHandler {
// Now everything you put into the texture atlas has been loaded in memory
}
는 텍스처를 미리로드 할 수 있지만 괄호 사이에 때
let alienTexture1 = SKTextureAtlas(named:"Sprites").textureNamed("alienTexture1")
같은 라인을 호출하도록되어 간다 모르겠어요. 이 텍스처는 그 다음 내가 가지고있는 일부 외국인 SKSpriteNode 서브 클래스의
init
의 내부이라고합니다. 예고가 명확하게 제대로 작동하지 않기 때문에 나는 무언가를 이해하지 못합니다. 나는 또한
GameScene
로 전환 할 때 지연에 대해 할 모르겠어요하지만 그것은 또한 그
let
의 모든 문장과 함께 시작 부분에 텍스처로드의 내 방식과 관련이있다 생각. 어떤 충고라도 잘 될 것입니다.
나는이 주제에 대한 다른 질문 보았다이 그것을 반복하지 않았다 충분히 특정 것을 느꼈다.