2013-11-01 12 views
7

Birisi, Apple'ın Sprite Kitini kullanarak SKSpriteNode'un görüntüsünü nasıl kademeli olarak bulanıklaştıracağı hakkında bir örnek verebilir mi? Örneğin, kullanıcının ekranda bir butona dokunduğunu ve bunun ardından arka planın belirli bir eşik değere ulaşana kadar yavaşça (yani aşamalı olarak) bulanıklaşmasını tetikleyeceğini söyleyelim. İdeal olarak, işlemi de tersine çevirmek istiyorum (örneğin kullanıcının aynı düğmeye dokunarak görüntüyü çözmesine izin verin).Bir SKSpriteNode görüntüsünü Sprite Kit kullanarak nasıl kademeli olarak bulanıklaştırır?

+1

Henüz SKEffectNode'a baktınız mı? – prototypical

cevap

6

bu almaya iki olası yolları vardır, ikisi de

SKEffectNodes bir düğüme CI Filtreler uygulamak için izin SKEffectNodes kullanın.

Gauss Bulanıklığı için bir CI Filtresi vardır. Bu yüzden bir SKEffectNode oluşturun ve bir bulanıklaştırma filtresi atayın, ardından düğmeye çocuk olarak ekleyin.

Nasıl canlandırıyorsunuz?

Kullanım SKAction Bir özel eylem oluşturmak ve filtrenin parametrelerini değiştirmek için, ancak, bu yavaş olabilir ve her zaman beklediğinizden 'ilerici' bulanıklık efekti vermez, yani ne yapmam şudur:

Yukarıda açıklandığı gibi bir filtre ve SKEffectNode oluşturuyorum, ardından sonucu SKView.textureForNode kullanarak bir Doku olarak oluşturuyorum. Daha sonra sonuçta oluşan dokuları bir diziye ekledikten sonra, bunu döngüden geçiririm, oluşturulan efekti görüntünün üzerine, oluşturulmuş olan önceki görüntünün üstüne uygulamak için devam ettim. Ardından, SKAction.animateWithTextures ile bir animasyon oluşturmak için oluşturulan dokuları kullanın. Benim deneyimime göre, bu çok güzel çıkıyor.

İlgili konular