渲染SKLightNodes不一致

时间:2020-09-01 23:04:41

标签: ios swift xcode sprite-kit lighting

我正在开发涉及SKLightNodes的游戏。在执行它们的过程中,我注意到有时它们根本不会渲染。现在,我已经研究并测试了这种情况的几乎每个方面,都花费了几个小时,即:更改衰减,位掩码,颜色和位置。最后,我创建了一个新项目作为测试,并编写了一些非常基本的代码,如下所示。

class GameScene: SKScene {
    
    let texture = SKTexture(imageNamed: "Background")
    let background = SKSpriteNode()
    let light = SKLightNode()
    
    override func sceneDidLoad() {
        
        texture.filteringMode = .nearest
        background.texture = texture
        
        background.lightingBitMask = 1
        background.shadowCastBitMask = 0
        background.shadowedBitMask = 0
        background.size = CGSize(width: 500, height: 500)
        
        addChild(background)
        
        light.categoryBitMask = 1
        light.ambientColor = .yellow
        light.lightColor = .white
        light.shadowColor = .blue
        
        light.position = CGPoint(x: frame.midX, y: frame.midY)
        
        addChild(light)
        
    }
}

当我运行它时,它每次都完全按预期运行。然后,我将此代码复制并粘贴到我的当前项目中,没有任何更改或任何更改,并且它工作异常且不一致。我检查了灯光是否在正确的位置,口罩是否正常工作以及是否没有从父母那里移除。是否有人知道Xcode中的某件事会阻止LightNode一致地渲染。我已经在Xcode Beta以及iOS 13和14设备上的Xcode 11的稳定版本中都进行了尝试。任何和所有帮助表示赞赏。 :)

0 个答案:

没有答案