我的问题是,每当我更改一个精灵的纹理时,新的纹理将保留原始精灵的纹理的大小。
我有以下代码:
mySprite = [CCSprite spriteWithFile:@"mySprite.png"]];
...
// change current stage here
CCTexture2D *newTexture=[[[CCTexture2D alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"stage number %d.png",currentStageNumber]]]autorelease];
[mySprite setTexture:newTexture];
根据原始精灵的大小拉伸或压缩新的精灵。
如果原始精灵较大,则将拉伸新纹理。
我在使用cocos2d v0.8时没有这个问题
我究竟做错了什么?
最佳答案
解决了:
mySprite = [CCSprite spriteWithFile:@"mySprite.png"]];
...
// change current stage here
CCTexture2D *newTexture=[[[CCTexture2D alloc]initWithImage:[UIImage imageNamed:[NSString stringWithFormat:@"stage number %d.png",currentStageNumber]]]autorelease];
[mySprite setTexture:newTexture];
[mySprite setTextureRect:CGRectMake(0,0, newTexture.contentSize.width, newTexture.contentSize.height)];
:)