我对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];下面是图片和结果:



提前感谢
发布于 2013-12-27 07:56:15
据我所知,您正在尝试获得裁剪的部分作为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)。
https://stackoverflow.com/questions/20758033
复制相似问题