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.
Asked
Active
Viewed 692 times
4
-
3I'm not sure about it specifically but you can add an SKEffectNode to a node and the effects that can be run are any of the CIFilters (or your own) that are available on iOS. – Fogmeister Sep 23 '15 at 14:42
1 Answers
3
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.