我的问题是,每当我更改一个精灵的纹理时,新的纹理将保留原始精灵的纹理的大小。

我有以下代码:

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)];


:)

09-04 21:25