我正在开发一种游戏,我需要覆盖几个图像才能让玩家选择飞机的颜色。我使用以下代码执行此操作:
SKCropNode *cropper = [SKCropNode node];
SKSpriteNode *mask = [SKSpriteNode spriteNodeWithImageNamed:planeImageName];
SKTexture *texture = [SKTexture textureWithImageNamed:@"Camo"];
SKSpriteNode *paint = [SKSpriteNode spriteNodeWithTexture:texture];
SKSpriteNode *outline = [SKSpriteNode spriteNodeWithImageNamed:planeOutlineImageName];
outline.size = CGSizeMake(mask.size.width, mask.size.height);
LRHeroPlane *hero = [LRHeroPlane spriteNodeWithColor:[UIColor clearColor] size:CGSizeMake(5, 5)];
[hero addChild:cropper];
[cropper addChild:paint];
[cropper setMaskNode:mask];
[hero addChild:outline];
其中planeOutlineImageName
和planeImageName
是可用于查找资产目录中图像的字符串,hero
是根节点。然而,当我将它添加到我的场景中时,迷彩涂料超出了轮廓的边界,使得整个平面看起来凌乱且不专业。以下是使用的图像:(实际图像是.pdf,但我将它们转换为.png以包含在这篇文章中)
有人知道为什么会这样吗?非常感谢任何帮助。