2

スプライト キットを少し試しています。アルファpngで画像をマスクしようとしています。これは簡単ですが、アルファ値で画像をマスクする方法に関する情報が見つかりません。現在、ピクセルをレンダリングするか、レンダリングしません。

SKCropNode のドキュメントによると、マスク内のピクセルのアルファ値が 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];

その結果、エッジがぎざぎざになります。エッジが滑らかになるように画像をマスクする方法はありますか?

ありがとう!

4

1 に答える 1

0

いいえ、マスク ノードは、表示または非表示のいずれかで動作するという点でバイナリです。Apple はドキュメントで、後で masknode にぼかしフィルターを適用する例を提供しています。1px のボックス ブラーが適している場合があります。

ドキュメンテーション -> マスクとぼかし効果

于 2014-03-09T13:28:12.853 に答える