Spritekit FPS掉落问题

问题描述

我正在构建的应用程序会在创建精灵节点时降低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!,dy: 0)
        sprite.physicsBody?.linearDamping = 0

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

解决方法

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

map_err(|_| panic!())

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...