我尝试在我的iOS SpriteKit项目中画一个圆,但圆的边缘不平滑。我想有一个画得很好的圆,因为我会用Photoshop绘制它(抗锯齿)。我发现了几个类似的问题,但我的问题仍然存在。
-(id)initWithSize:(CGSize)size
{
if (self = [super initWithSize:size])
{
self.backgroundColor = [SKColor whiteColor];
self.scaleMode = SKSceneScaleModeAspectFill;
self.size = CGSizeMake(640, 1136);
CGRect circle = CGRectMake(100.0, 100.0, 80.0, 80.0);
SKShapeNode *shapeNode = [[SKShapeNode alloc] init];
shapeNode.path = [UIBezierPath bezierPathWithOvalInRect:circle].CGPath;
shapeNode.fillColor = [SKColor redColor];
shapeNode.lineWidth = 0;
[self addChild:shapeNode];
}
return self;
}
这里的诀窍是什么?
发布于 2014-06-06 17:57:13
默认情况下,抗锯齿处于激活状态,但它仅应用于线条,而不适用于填充。
将lineWidth设置为大于0的数字,然后重试。
发布于 2014-06-06 17:53:54
将反序列化属性设置为YES。
shapeNode.antialiased = YES;
使用填充颜色时,粗糙边不可见。
//shapeNode.fillColor = [SKColor redColor];
shapeNode.strokeColor =[SKColor redColor];
shapeNode.antialiased = YES;
shapeNode.lineWidth = 1;
现在,对于antialisaed属性,在YES和NO之间切换。你会注意到其中的不同之处。
https://stackoverflow.com/questions/24078687
复制相似问题