Ich versuche, Spielsprites eine Farbe blinken zu lassen, wenn sie beschädigt sind und die Farbe schnell wieder normal wird. Alle Sprites haben Bitmap-Texturen, aber sie sind nicht von dem Befehl betroffen. Ich habe versucht, das gleiche auf einem SpriteNode mit einem einfachen farbigen Hintergrund und es funktioniert, aber die Farbe verblasst in nicht aus:Das Einfärben eines Sprites mit einer Textur funktioniert nicht
//defines sprite
let mySprite = SKSpriteNode(imageNamed: "myTexture")
//defines action to colourise sprite over half a second
let tintSprite = SKAction.colorizeWithColor(SKColor.redColor(), colorBlendFactor: 1, duration: 0.5)
mySprite.runAction(tintSprite)
Nichts scheint zu passieren, und ich nehme diese Aktion nicht auf Texturen funktioniert. es auf einem einfachen Sprit ohne Textur Werke zu testen, aber über die Dauer schwindet in:
let test = SKSpriteNode.init(color: SKColor.blackColor(), size: CGSizeMake(80, 80))
test.position.x = 100
test.position.y = 200
let tintTest = SKAction.colorizeWithColor(SKColor.redColor(), colorBlendFactor: 1, duration: 5)
test.runAction(tintTest)
self.addChild(test)
Dies funktioniert gut, aber verblasst von der ursprünglichen schwarz auf rot mehr als 2 Sekunden.
Weiß jemand wie: 1. Tint texturierte Sprites 2. eine Farbe sofort einstellen dann machen Sie es wieder normal zu verblassen.
Jede Hilfe wäre willkommen, vielen Dank. Kw
im ersten Beispiel ... Sie haben nicht 'self.addChild (mySprite)' vor dem SKAction ... – TonyMkenu
mehr ... in der Antwort, bitte – TonyMkenu
Es ist nicht so. Ich kann Sprites auf dem Bildschirm sehen, aber sie reagieren nicht auf die Kolorierung, wenn sie Texturen haben. – Kwangle