如何以像素偏移量获取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中获得那种低级访问权限。
答案 0 :(得分:0)
我不确定你是否可以直接从纹理中读取任何内容,但是如果先将图像作为UIImage加载,那么你可以从中读取像素值并使用它来创建精灵的纹理。你也可以把它包装在一个子类中,以使事情变得更好。