我只是想知道为什么这些 SKShapeNode
会这样。我尝试将 sprite.lineWidth
和 sprite.glowWidth
设置为 0,但无法让它们均匀显示。但是,当使用 UIColor.redColor() 让它们全部显示时,这不会发生。
另请注意,您无法真正看到这些图片的效果,但是当我在 iPhone 上模拟它们时,颜色无法正确“混合”。在较暗的颜色上很难看到,而在对比色(即红色和黄色)上则更容易看到。
您可以看到顶部边框比底部稍亮,因此可以清楚地区分框。如何让它们看起来“更平滑”?这是我使用的代码:
var x: CGFloat = 0.0
var skip: CGFloat = 10
var randR: CGFloat = 242
var randG: CGFloat = 218
var randB: CGFloat = 242
class GameScene: SKScene {
override func didMoveToView(view: SKView) {
/* Setup your scene here */
}
func randomColor() -> CGFloat {
return (CGFloat(arc4random_uniform(255)))
}
override func touchesBegan(touches: Set<UITouch>, withEvent event: UIEvent?) {
/* Called when a touch begins */
let spriteHeight: CGFloat = 50.0
for touch in touches {
let location = CGPoint(x: (CGRectGetMidX(self.frame)), y: (CGRectGetMinY(self.frame) + CGFloat(spriteHeight * x)))
let sprite = SKShapeNode(rectOfSize: CGSizeMake((self.frame.width), 50))
//sprite.fillColor = UIColor.redColor()
sprite.position = location
sprite.lineWidth = 0
//sprite.glowWidth = 0
randR = randR - skip
randG = randG - skip
randB = randB - skip
sprite.fillColor = UIColor(red: CGFloat((randR)/256), green: CGFloat((randG)/256), blue: CGFloat((randB)/256), alpha: 1.0)
x++
self.addChild(sprite)
}
}
最佳答案
你所看到的不是“真实的”。测量颜色值,你会发现你所观察到的不是客观现实,而是你的大脑试图理解世界的表现。
https://en.wikipedia.org/wiki/Mach_bands
关于ios - 为什么 SKShapeNode 在顶部边框上更亮,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33160999/