显示图像的一部分并使用CCScene隐藏其余部分

时间:2011-10-10 14:35:41

标签: iphone objective-c ios4 cocos2d-iphone

好,所以我有以下代码:

CCScene * timerLayer = [CCScene node];
[timerLayer setContentSize:CGSizeMake(50, 36)];
timerLayer.position = ccp(100, 260);
if(![self getChildByTag:777]){
    [self addChild:timerLayer z:20 tag:777];
}


timerGraphic = [CCSprite spriteWithFile:@"timer_small.png"];
timerGraphic.position = ccp(0,0);
timerLayer.contentSize = CGSizeMake(50, 36);

if(![timerLayer getChildByTag:779]){
    [timerLayer addChild:timerGraphic z:19 tag:779];
}

正如你所看到的,我正在制作一个timerLayer场景,我已将场景调整为50x,36y。我也有timerGraphic,我只想显示50x 36y的精灵,所以我尝试调整场景,但它不起作用......它全部显示整个图像!

1 个答案:

答案 0 :(得分:1)

CCScene节点不能用于剪辑图像。您可以使用Clipping Node或者在您的情况下只需更改纹理矩形以仅显示矩形内部图像的那一部分:

[timerGraphic setTextureRect:CGRectMake(0, 0, 50, 36)];

注意:确保rect在图像的边界内!