Cocos2d iphone Cocos2d仅显示CCSprite的一部分
是否有可能只显示一个CCSprite的一部分Cocos2d iphone Cocos2d仅显示CCSprite的一部分,cocos2d-iphone,ccsprite,Cocos2d Iphone,Ccsprite,是否有可能只显示一个CCSprite的一部分 它表明contentSize属性的结果不好。获取[sprite displayedFrame],更改该属性的帧,并使用该spriteframe创建新的sprite:CCSprite*sprite2=[CCSprite spriteWithSpriteFrame:frame]我认为您可能需要为此创建一个新的精灵。一般的伪代码如下所示 CCTexture2D *origTexture = originalSprite->getTexture();
它表明
contentSize
属性的结果不好。获取[sprite displayedFrame]
,更改该属性的帧,并使用该spriteframe创建新的sprite:CCSprite*sprite2=[CCSprite spriteWithSpriteFrame:frame]
我认为您可能需要为此创建一个新的精灵。一般的伪代码如下所示
CCTexture2D *origTexture = originalSprite->getTexture();
CGRect rect = {0, 0, 20, 20};
CCSprite *destSprite = CCSprite::spriteWithTexture(origTexture, CGRect);
doc_180和James的答案都是通过使用部分纹理创建新的CCSprite来实现的,但是如果您使用剪裁方法,您将获得使用完整纹理但只能在屏幕上绘制部分的CCSprite。此方法的一个优点是,您可以修改要动态显示或隐藏的部分的大小,而无需一次又一次地重新创建CCSprite(或一次又一次地替换纹理)
因此,要使用剪辑方法,只需下载,并将您想要剪辑的CCSprite添加到该剪辑节点。然后调用其中一个方法来指定要将图形限制到哪个区域。我目前正在使用它创建一个进度条,因此我确信它工作得很好。这更有用,并启发我扩展CCSprite以解决更复杂的问题。