SpriteKit在Xcode模拟器上出现cgImage问题,但在设备上却没有

时间:2020-08-03 07:48:12

标签: swift sprite-kit ios-simulator core-graphics sktexture

我正在尝试编写一些程序性地创建位图字体的代码,为了做到这一点,我一直在创建SKTextures,然后将它们转换为cgImage / UIImage(因为这是初始化SKTextureAtlas所必需的)。但是cgImage在模拟器上似乎无法可靠运行,而在设备上却可以正常运行。以下代码说明了将其放入SKScene中的意义:


    let chars = "ABCDEFGHIJKLMNOP"
    
    var y: CGFloat = 0
    
    for each in chars {
        let letter = String(each)
        let label = SKLabelNode(text: letter)
        let view = SKView()
        let texture = view.texture(from: label)!
        let cgImage = texture.cgImage() // HERE IS WHERE IT GOES WRONG!
        let tex2 = SKTexture(cgImage: cgImage) // OR POSSIBLY HERE!
        let sprite = SKSpriteNode(texture: tex2)
        sprite.position.x = 100
        sprite.position.y = y
        addChild(sprite)
        y += 30
    }

在模拟器上,某些字符没有出现(奇怪的是,确实是相同的字符),而在设备上它们都很好地显示了。肯定是将其转换为cgImage,然后返回到SKTexture,这会产生问题,如果您删除该代码可以正常工作,但是如果我将cgImage转换为UIImage也会遇到相同的问题,因此我认为它一定是有问题的cgImage 。我认为模拟器与设备上的这种不同行为意味着错误吗?但是我已经搜索过,但没有发现其他人遇到同样的问题。如果有人知道出了什么问题或有解决方法,我将非常感激。

0 个答案:

没有答案
相关问题