Je sais qu'il y a SKCropNode
, mais il n'acceptera ou exclura entièrement les pixels que sur la base d'un seuil alpha de maskNode
. Ce que j'ai déjà essayé est d'utiliser le SKEffectNode
avec un filtre CIBlendWithAlphaMask
, mais le résultat que je reçois est invisible et je ne serais pas sûr de la façon de déplacer le masque. Voici le code:Comment masquer alpha un SKSpriteNode?
SKSpriteNode* overlay = [SKSpriteNode spriteNodeWithImageNamed:@"Overlay.png"];
//...
SKEffectNode* blendNode = [[SKEffectNode alloc] init];
blendNode.filter = [CIFilter filterWithName:@"CIBlendWithAlphaMask"];
UIImage* maskImage = [UIImage imageNamed:@"MaskImage.png"];
[blendNode.filter setValue:[maskImage CIImage] forKey:@"inputMaskImage"];
[blendNode addChild:overlay];
[self addChild:blendNode];
j'avais déjà trouvé la solution parfaite, en utilisant un SKLightNode
pour éclairer la texture, puis se fondre dans le framebuffer en utilisant SKBlendModeAdd
, mais pour une raison quelconque, il ne fonctionnera pas sur l'iPhone 5 (here's a related topic). Je suis au courant de this topic aussi, ce qui n'a pas aidé non plus.
Toute solution pour masquer correctement un SKSpriteNode
serait grandement appréciée! Exécution d'iOS 8.
CIImage était nul, il masque maintenant, mais je ne sais toujours pas comment déplacer le masque ... – Larry
Avez-vous déjà compris? – nekonari