Sprite kit 向SKSpriteNode添加白色边框

Sprite kit 向SKSpriteNode添加白色边框,sprite-kit,Sprite Kit,我正在尝试为精灵添加一个临时白色边框。为了实现这一点,我正在构建另一个具有相同纹理但略大于第一个的精灵。然后我将它的颜色设置为白色,并在它的父对象后面绘制这个新精灵,将其淡出,最后将其移除。这是我的密码: func blink() { if let currentTexture = self.texture { let biggerSprite = SKSpriteNode(texture: currentTexture) biggerSprite.co

我正在尝试为精灵添加一个临时白色边框。为了实现这一点,我正在构建另一个具有相同纹理但略大于第一个的精灵。然后我将它的颜色设置为白色,并在它的父对象后面绘制这个新精灵,将其淡出,最后将其移除。这是我的密码:

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]))
    }
}

它可以工作,我可以看到边界褪色,但问题是:“biggerSprite”并没有像我所希望/预期的那样用白色着色。我猜设置颜色意味着与现有纹理的颜色相乘。如何用纯白填充我的“背景”/“边框”精灵?

将精灵着色为白色与从中移除颜色相同。你不能把一个五颜六色的雪碧染成白色来浸透它。首先,您必须使背景图像为白色或浅色

如果你有一个雪碧纹理,你对它应用了一个红色,它的colorBlendFactor为1,那么现在图像就会变成阴影红色,原始图像的较暗部分就是较暗的红色。现在将白色应用于此图像会将其重置为原始颜色状态