Ios SKCropNode作为SKSpriteNode被裁剪部分

Ios SKCropNode作为SKSpriteNode被裁剪部分,ios,iphone,sprite-kit,skspritenode,skcropnode,Ios,Iphone,Sprite Kit,Skspritenode,Skcropnode,我在SKCropNode上贴了个面具,现在我知道我需要什么了,但是 裁剪的节点有完整图像的大小,我只想访问裁剪的部分,而不是完整图像,我可以将其放入SKSpriteNode吗 这是我的密码 SKSpriteNode *pic = [SKSpriteNode spriteNodeWithImageNamed:@"test.png"]; pic.name = @"PictureNode"; SKSpriteNode *mask = [SKSpriteNode spriteNodeWithImageN

我在SKCropNode上贴了个面具,现在我知道我需要什么了,但是 裁剪的节点有完整图像的大小,我只想访问裁剪的部分,而不是完整图像,我可以将其放入SKSpriteNode吗

这是我的密码

SKSpriteNode *pic = [SKSpriteNode spriteNodeWithImageNamed:@"test.png"];
pic.name = @"PictureNode";
SKSpriteNode *mask = [SKSpriteNode spriteNodeWithImageNamed:@"2.png"];
mask.size=CGSizeMake(50, 50);
mask.position=CGPointMake(0, 50);
SKCropNode *cropNode = [SKCropNode node];
cropNode.position=CGPointMake(160, 70);
[cropNode addChild:pic];
[cropNode setMaskNode:mask];
[self addChild:cropNode];
以下是图像和结果:


提前感谢

据我所知,您正在尝试将裁剪零件作为SKSpriteNode,如果是这种情况,您可以按如下方式进行管理:

    SKTexture *oldWholeTexture = [self.scene.view textureFromNode:cropNode];
    SKTexture *newTexture = [SKTexture textureWithRect:CGRectMake(140.f/364.f,56.f/365.f,80.f/364.f,125.f/365.f) inTexture: oldWholeTexture];
    SKSpriteNode *newNode = [SKSpriteNode spriteNodeWithTexture:newTexture];

textureWithRect的CGRect参数采用单位值,因此我根据纹理大小对值进行了规格化。左下角是(0,0)。

您能显示结果和源图像吗?结果看起来不错。。。你想实现什么?我只想检测裁剪区域上的压力…如果我按下隐藏图像区域中的任何一点,它会显示我按下了Cropnode。这个问题与你上面问的问题非常不同。请添加一个代码,你用它来处理你的答复和一个很好的尝试,顺便说一句,但它仍然有相同的宽度和高度作为完整的图像手势Hanks Neslisah