Gibt es eine Möglichkeit, in SpriteKit eine mit Farbverlauf gefüllte Box zu erstellen? Ich habe versucht, einen Form-Knoten damit zu füllen, aber es merkt, dass nur Vollfarben mit skshapenode arbeiten.
Ich denke nicht, dass dies mit der aktuellen SKShapeNode
möglich ist, die momentan kaum ihre grundlegenden Funktionen behandelt. Ein guter Ansatz, wenn Sie keine bereits vorhandenen Sprite-Farbverlaufsbilder verwenden möchten, wäre das Erstellen eines SKTexture
durch Anwenden eines CIFilter
(wie vielleicht CILinearGradient
in diesem Fall) auf ein einfaches Box-Bild und dann das Erstellen das SKSpriteNode
von diesem SKTexture
.
Hier ist eine Lösung. (Hinweis: Ich verwende Rubymotion, eine Ruby-Bindung für Objective C / iOS, aber die Logik ist genau die gleiche. Wenn jemand dies bearbeiten und das Ziel c gleichwertig setzen will, dann mach weiter
%Vor%OK, hier verwende ich jetzt etwas. Ich habe es auf AwDogsGo2Heaven's Lösung, jedoch für Mac angepasst. Wäre süß mit einer voll kompatiblen Lösung. Ich bin weit davon entfernt, Kontexte zu erstellen. Aber scheint zu funktionieren. Auch ich bin unsicher über die Skala. Laufen auf Retina Mac und nicht Retina Mac und kann keine Probleme sehen, aber der Kontext wird mit Skala 2 erstellt, so könnte für nicht Retina macs Overkill sein. Ich habe dies in eine Kategorie auf SKTexture gestellt.
Um es zu verwenden, rufen Sie einfach +(SKTexture*)gradientWithSize:(const CGSize)SIZE colors:(NSArray*)colors
.
Bearbeiten: Aktualisierter Code und weitere Diskussionen hier: Gradient Textur hat falsche Skala auf Retina Mac
Matts Antwort ist korrekt, aber ich konnte noch keinen Gradienten hinzufügen. Dies ist mein aktueller Versuch, wenn jemand weiß, wie es funktioniert, bitte update für thread.
Hier ist der Core Image Ref
%Vor%Eine weitere gute Möglichkeit, Ihre Filter zu testen, ist die Demo-App CIFunHouse von der WWDC 2013 herunterzuladen.
Tags und Links sprite-kit