Spritekit FPS掉落问题

时间:2020-10-11 00:04:19

标签: xcode sprite-kit skspritenode

我正在构建的应用程序会在创建精灵节点时降低FPS,我搜索了广泛的帖子,无法弄清楚为什么,如果有人有任何想法,我将不胜感激!

问题发生在模拟器和设备上。

下面是用于创建节点的代码。

谢谢。

@objc func createEnemy(){

        let randomDistribution = GKRandomDistribution(lowestValue: -350, highestValue: 350)
        let sprite = SKSpriteNode(imageNamed: "Virus")

        sprite.position = CGPoint(x: 700, y: randomDistribution.nextInt())
        sprite.name = "Virus"
        sprite.zPosition = 1
        sprite.size = CGSize(width: 70, height: 70)
        addChild(sprite)

        sprite.physicsBody = SKPhysicsBody(texture: sprite.texture!, size: sprite.size)
        sprite.physicsBody?.velocity = CGVector(dx: -500, dy: 0)
        sprite.physicsBody?.linearDamping = 0

        sprite.physicsBody?.contactTestBitMask = 1
        sprite.physicsBody?.categoryBitMask = 0
        sprite.physicsBody?.affectedByGravity = false

        createBonus()
    }

    func createBonus(){

        let randomDistribution = GKRandomDistribution(lowestValue: -350, highestValue: 350)
        let sprite = SKSpriteNode(imageNamed: "Vaccine")

        sprite.position = CGPoint(x: 700, y: randomDistribution.nextInt())
        sprite.name = "Vaccine"
        sprite.size = CGSize(width: 70, height: 70)
        sprite.zPosition = 1
        addChild(sprite)

        sprite.physicsBody = SKPhysicsBody(texture: sprite.texture!, size: sprite.size)
        sprite.physicsBody?.velocity = CGVector(dx: -500, dy: 0)
        sprite.physicsBody?.linearDamping = 0

        sprite.physicsBody?.contactTestBitMask = 1
        sprite.physicsBody?.categoryBitMask = 0
        sprite.physicsBody?.collisionBitMask = 0
        sprite.physicsBody?.affectedByGravity = false
    }

1 个答案:

答案 0 :(得分:0)

您是否尝试过预加载纹理?

map_err(|_| panic!())