2017-04-16 12 views

答えて

1

スウィフト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 

    } 

} 
1

利用可能SKActionさんのリストはこちらです:https://developer.apple.com/reference/spritekit/skaction

あなたが記述を正確に何をすべきか何もありません。代わりに、Photoshopのような写真編集ツールから複数のスプライトイメージをエクスポートし、class func animate(with: [SKTexture], timePerFrame: TimeInterval)のようなアニメーションアクションを使用できます。

これはもう少し作業ですが、目的の効果を達成する必要があります。私はこの実装で解決

+0

おかげで、しかし、私はイムは、ソリューションをCGAffineTransformを探して、スケール/移動/アルファだけでなく、画像を変換する必要があります。 – Maetschl

+1

回答が説明するように一連のカスタムテクスチャを追加すると、歪み効果を実現できます。 'SKEffectNode'に対して' CGAffineTransform'を使うこともできるようです:http://stackoverflow.com/a/32952011/6658553 – nathan

関連する問題