UImage 加载整个 SKTextureAtlas 而不仅仅是 SKTexture
UImage loads entire SKTextureAtlas instead of just SKTexture
我需要 '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
我调和了 image.CGImage() 不支持来自 SKTextureAtlas 的纹理,在阅读了类似的 post SKTextures from SKTextureAtlas does not support mipmapping 之后。
一种方法是从 SKView.textureFromNode(_ node: SKNode)
形成一个 SKTexture
let textureToRender = myOffscreenView.textureFromNode(nodeToRender)
let newImage = UIImage(CGImage: textureToRender.CGImage())
我需要 '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
我调和了 image.CGImage() 不支持来自 SKTextureAtlas 的纹理,在阅读了类似的 post SKTextures from SKTextureAtlas does not support mipmapping 之后。
一种方法是从 SKView.textureFromNode(_ node: SKNode)
形成一个 SKTexturelet textureToRender = myOffscreenView.textureFromNode(nodeToRender)
let newImage = UIImage(CGImage: textureToRender.CGImage())