2016-05-12 64 views
0

我需要帶'trueName'的紋理加載到我的myImageViewOutlet.image中。我得到的結果是整個圖集渲染到它。我的代碼如下UImage加載整個SKTextureAtlas而不僅僅是SKTexture

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 

回答

0

我不甘心image.CGImage()不從SKTextureAtlas支持紋理,讀一本類似的帖子SKTextures from SKTextureAtlas does not support mipmapping後。

一種方法是,以形成從SKView.textureFromNode一個SKTexture(_節點:SKNode)

let textureToRender = myOffscreenView.textureFromNode(nodeToRender) 

let newImage = UIImage(CGImage: textureToRender.CGImage())