我试图为精灵添加临时白色边框。为了实现这一点,我构建了另一个具有相同纹理但略大于第一个的精灵。然后我将其颜色设置为白色并在其父级后面绘制这个新的精灵,将其淡出并最终将其删除。这是我的代码:
func blink() {
if let currentTexture = self.texture {
let biggerSprite = SKSpriteNode(texture: currentTexture)
biggerSprite.colorBlendFactor = 1.0
biggerSprite.color = SKColor.white
biggerSprite.xScale *= 1.3
biggerSprite.yScale *= 1.3
biggerSprite.position = CGPoint.zero
biggerSprite.name = "aura"
biggerSprite.zPosition = zPositions.background
addChild(biggerSprite)
let fadeOut = SKAction.fadeOut(withDuration: 3)
let remove = SKAction.removeFromParent()
biggerSprite.run(SKAction.sequence([fadeOut, remove]))
}
}
它可以工作,我可以看到边界消失但问题是:"更大的精灵"没有像我想要的那样用白色着色。我猜测设置颜色意味着与现有纹理的颜色相乘。如何用纯白色填充我的" background" / border sprite?