如何更改超过特定颜色的SKSpriteNode的像素颜色?

时间:2016-01-29 01:12:18

标签: xcode7 uicolor skspritenode

我不确定我的标题问题是否清楚,但我想要做的是采用SKSpriteNode(或者可能是SKShapeNode)并将其设置为每当它移动时背景中具有特定颜色的特定区域,它仅将顶部像素的颜色更改为另一种指定颜色。

例如,如果我这样做:

let blackBox = SKSpriteNode(texture: nil, color: UIColor.blackColor(), size: CGSizeMake(100, 100))
blackBox.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame))
blackBox.zPosition = 5
self.addChild(blackBox)

let redBox = SKSpriteNode(texture: nil, color: UIColor.redColor(), size: CGSizeMake(100, 100))
redBox.position = CGPointMake(CGRectGetMidX(self.frame) + 50, CGRectGetMidY(self.frame) + 50)
redBox.zPosition = 4
self.addChild(redBox)

正如你所看到的那样,blackBox位于redBox的顶部,因为它有一个更高的zPosition,但它没有完全覆盖它,因为redBox的位置稍微偏向northeast 。所以在这种情况下,blackBox将是满的,redBox将被覆盖在其左下象限。 我想做的是只将blackBox中位于任何UIColor.redColor()像素顶部的部分(即blackBox的右上象限)更改为另一种颜色...例如说蓝色?我如何编程blackBox节点以根据其背后的颜色不断更新其像素的颜色?

提前致谢! :)

0 个答案:

没有答案