SKCropNode

プロパティ

マスク用のノード

maskNode

SKNode*
説明 クロップノードに渡されるノードは他のノードの子ノードであってはなりません。ただし、そのノードが子ノードを持っていることはあります。
クロップノードの内容がレンダリングされる時、クロップノードは最初にプライベートバッファにマスクを描画します。それから、子ノードをレンダリングします。子ノードがレンダリングされる時、マスクのピクセルに従って各ピクセルが変更されます。マスクのピクセルのアルファ値が0.05以下の場合、対応するピクセルがマスクして隠されます。マスクノードを使ってレンダリングされなかったピクセルは自動的にマスクアウトされます。 

コード例

SKSpriteNode *sprite1 = [SKSpriteNode spriteNodeWithImageNamed:@"image1"]; // 切り抜かれる画像
SKSpriteNode *mask1 = [SKSpriteNode spriteNodeWithImageNamed:@"mask"];     // マスク用画像(この形に切り抜きたい)
SKCropNode *cropNode1 = [SKCropNode node];

​[cropNode1 addChild:sprite1];  // 子ノードとして画像を加える
[cropNode1 setMaskNode:mask1]; // マスク画像の設定
[self addChild:cropNode1];     // クロップノードをシーンに追加