我正在开发一款游戏,我需要在其中叠加几张图像,以便让玩家选择飞机的颜色。我使用以下代码执行此操作:
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];
WhereplaneOutlineImageName
和planeImageName
are 字符串,可用于在我的资产目录中查找图像,并且hero
是根节点。然而,当我将它添加到我的场景中时,迷彩涂料超出了轮廓的边界,使整个平面看起来凌乱且不专业。以下是使用的图像:(实际图像是 .pdf,但我将它们转换为 .png 以将它们包含在这篇文章中)
有谁知道为什么会这样?任何帮助深表感谢。