读取SKTexture的像素值

时间:2015-04-24 12:52:16

标签: swift sprite-kit

如何以像素偏移量获取SKSpriteNode或SKTexture的颜色值?

let atlas = SKTextureAtlas(named: "SomeAtlas")
let texture = atlas.textureNamed("SomeTexture")
let node = SKSpriteNode(texture: texture)

// Something like this...    
let pixel: SKColor = node.pixelAtPoint(x: 30, y: 100)

如果我直接编写OpenGL,我只需将纹理加载到帧缓冲区并使用glReadPixels,但我似乎无法在SpriteKit中获得那种低级访问权限。

1 个答案:

答案 0 :(得分:0)

我不确定你是否可以直接从纹理中读取任何内容,但是如果先将图像作为UIImage加载,那么你可以从中读取像素值并使用它来创建精灵的纹理。你也可以把它包装在一个子类中,以使事情变得更好。