是否可以在SpriteKit中爲SKSpriteNode創建SKAction,並使用Edit-> Transform-> Distort選項生成與「Photoshop」相同的效果?SpriteKit動作類似「Skew」或「Distort」
例子:
是否可以在SpriteKit中爲SKSpriteNode創建SKAction,並使用Edit-> Transform-> Distort選項生成與「Photoshop」相同的效果?SpriteKit動作類似「Skew」或「Distort」
例子:
我解決這個實現:
斯威夫特3
extension SKSpriteNode {
func addSkew(value: CGFloat = -1){
var effectNode = SKEffectNode()
effectNode.shouldRasterize = true
effectNode.shouldEnableEffects = true
effectNode.addChild(SKSpriteNode(texture: texture))
effectNode.zPosition = 1
let transform = CGAffineTransform(a: 1 , b: 0,
c: value , d: 1,
tx: 0 , ty: 0)
let transformFilter = CIFilter(name: "CIAffineTransform")!
transformFilter.setValue(transform, forKey: "inputTransform")
effectNode.filter = transformFilter
addChild(effectNode)
texture = nil
}
}
的的可用SKAction
是這裏的列表:https://developer.apple.com/reference/spritekit/skaction
有沒有做的正是你的描述。相反,您可以從Photoshop等照片編輯工具導出多個精靈圖像,並使用動畫動作,如class func animate(with: [SKTexture], timePerFrame: TimeInterval)
。
這是一個更多的工作,但應達到預期的效果。
謝謝,但我需要變換的圖像,不僅規模/移動/α,即時尋找CGAffineTransform的解決方案。 – Maetschl
如果我按照我的回答描述添加一系列自定義紋理,則可以實現扭曲效果。它看起來像你可以在'SKEffectNode'上使用'CGAffineTransform':http://stackoverflow.com/a/32952011/6658553 – nathan