【问题标题】:UImage loads entire SKTextureAtlas instead of just SKTextureUImage 加载整个 SKTextureAtlas 而不仅仅是 SKTexture
【发布时间】:2016-05-12 14:26:11
【问题描述】:

我需要带有“trueName”的纹理才能加载到我的 myImageViewOutlet.image 中。我得到的结果是将整个图集渲染到其中。我的代码如下

let myTextureAtlas = SKTextureAtlas.init(named: "myGameTextures")

// let texture = myTextureAtlas.textureNamed(trueName) // will render the entire atlas, instead of just the texture by trueName

let texture = myTextureAtlas.textureNamed(trueName+”bad name“) // will produce the placeholder image by sprite kit by itself just fine, but it's not the one I want obviously

let image = texture.CGImage()

let newImage = UIImage(CGImage: image, scale: 1.0, orientation: UIImageOrientation.Up)
//        let newImage = UIImage(CGImage: image) // .. the straight forward way

myImageViewOutlet.image = newImage

【问题讨论】:

    标签: ios swift sprite-kit sktexture sktextureatlas


    【解决方案1】:

    在阅读了类似的帖子SKTextures from SKTextureAtlas does not support mipmapping 后,我发现 image.CGImage() 不支持来自 SKTextureAtlas 的纹理。

    一种方法是从 SKView.textureFromNode(_ node: SKNode) 形成一个 SKTexture

    let textureToRender = myOffscreenView.textureFromNode(nodeToRender)
    
    let newImage = UIImage(CGImage: textureToRender.CGImage())
    

    【讨论】:

      猜你喜欢
      • 2011-06-24
      • 2015-09-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多