Я стараюсь, чтобы игровые спрайты вспыхивали цветом, когда они были повреждены, и цвет быстро исчезает до нормального уровня. Все спрайты имеют растровые текстуры, но команда не влияет на них. Я попробовал то же самое на SpriteNode с простым цветным фоном, и это делает работу, но цвет исчезает в не из:Цветной спрайт с текстурой не работает
//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)
Кажется, ничего не произойдет, и я предполагаю, что это действие не работает над текстурами. тестирования на простой спрайт без каких-либо текстур работ, но исчезает в течение срока:
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)
Это прекрасно работает, но затухает вверх от оригинального черного до красного в течение 2 секунд.
Кто-нибудь знает, как: 1. Оттенок текстурированных спрайтов 2. Установите цвет мгновенно, затем заставьте его нормализовать.
Любая помощь будет оценена, большое спасибо. Kw
в первом примере ... вы не имеете 'self.addChild (MySprite)' перед SKAction ... подробнее – TonyMkenu
... в ответ, пожалуйста – TonyMkenu
Это не так. Я вижу спрайты на экране, но они не реагируют на действие раскраски, если у них есть текстуры. – Kwangle