Sprite Kit,掩蔽节点别名



我正在尝试使用Sprite Kit。我正在尝试用alpha png遮罩图像。这很容易,但我找不到关于如何用alpha值掩盖图像的信息。现在它渲染像素或者不。

SKCropNode上的文档说:如果遮罩中的像素alpha值小于0.05,图像像素被遮罩掉。

所以这是我现在这样做的一个合乎逻辑的结果:

CGPoint location = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
SKCropNode *cropNode = [SKCropNode node];
SKSpriteNode *sprite = [SKSpriteNode spriteNodeWithImageNamed:@"Spaceship"];
SKSpriteNode *maskImage = [SKSpriteNode spriteNodeWithImageNamed:@"mask5.png"];
[maskImage setName:@"mask"];
[cropNode setMaskNode:maskImage];
[cropNode addChild:sprite];
[cropNode setPosition:location];
[self addChild:cropNode];

结果是边缘是锯齿状的。有没有一种方法可以遮罩图像,使边缘平滑?

谢谢!

不,掩码节点的工作方式是二进制的,要么显示,要么隐藏。苹果在他们的文档中提供了一个例子,他们在面具上应用了模糊滤镜。一个1px的框模糊就可以了。

文档->蒙版和模糊效果

相关内容

  • 没有找到相关文章

最新更新