SpriteKit missing linear transformation matrices

廉价感情. 提交于 2019-11-30 19:14:36

问题


Does anyone know how to transform (rotate,scale,skew) SpriteKit nodes using transformation matrices. couldn't find any support for this in the Spritekit API.


回答1:


As mentioned by Fogmeister, you can use an SKEffectNode with a CIFilter. The following works on iOS:

// Label
let label = SKLabelNode(text: "Hello world")
// Transform
let transform = CGAffineTransformMake(1, 0.5, 0, 1, 0, 0)
// CIFilter
let transformFilter = CIFilter(name: "CIAffineTransform")!
let val = NSValue(CGAffineTransform: transform)
transformFilter.setValue(val, forKey: "inputTransform")
// Effect node
let transformNode = SKEffectNode()
transformNode.filter = transformFilter
// Add label as child on effect node
transformNode.addChild(label)
scene.addChild(transformNode)

See more on affine transform in Apple's documentation.



来源:https://stackoverflow.com/questions/32742403/spritekit-missing-linear-transformation-matrices

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!