Apple のスプライト キットを使用して SKSpriteNode の画像を段階的にぼかす方法の例を誰かが提供できますか? たとえば、ユーザーが画面上のボタンに触れると、背景が特定のしきい値に達するまでゆっくりと (つまり徐々に) ぼやけます。理想的には、プロセスも逆にしたいと思います (たとえば、ユーザーが同じボタンをタッチして画像のぼかしを解除できるようにする)。
2996 次
1 に答える
7
これには 2 つの可能なパスがあり、どちらも SKEffectNodes を使用します
SKEffectNodes を使用すると、CI フィルターをノードに適用できます。
Gaussian Blur 用の CI フィルターがあります。SKEffectNode を作成し、ぼかしフィルターを割り当ててから、ボタンを子として追加します。
どのようにアニメーション化しますか?
SKAction を使用してカスタム アクションを作成し、フィルターのパラメーターを変更しますが、これは遅くなる可能性があり、期待する「プログレッシブ」ぼかし効果が常に得られるとは限らないため、次のようにします。
上記のようにフィルターと SKEffectNode を作成し、SKView.textureForNode を使用して結果をテクスチャにレンダリングします。次に、結果のテクスチャを配列に追加します。その後、これをループし、フレーム数が設定されるまで、前に作成した画像の上にぼかし効果を適用し続けます。次に、作成したテクスチャを使用して、SKAction.animateWithTextures でアニメーションを作成します。私の経験では、これは非常にうまくいきます。
于 2013-11-01T19:28:30.097 に答える