SpriteKit缺少线性变换矩阵

时间:2015-09-23 14:31:10

标签: objective-c sprite-kit transformation cgaffinetransform sknode

有没有人知道如何使用转换矩阵转换(旋转比例倾斜)SpriteKit节点。在Spritekit API中找不到任何支持。

1 个答案:

答案 0 :(得分:1)

Fogmeister所述,您可以将SKEffectNode与CIFilter一起使用。以下适用于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)

在Apple的documentation中查看有关仿射变换的更多信息。

相关问题