我无法理解这里发生了什么,我知道我很愚蠢,但这是发生了什么:
我有两张图片,一张是 1024x768,一张是 2048x1536。它们是“背景”纹理。我正在尝试从一种纹理切换到另一种纹理:
CCSprite *bg = [CCSprite spriteWithFile:@"one.jpg"];
bg.scale = 0.5;
[self addChild:bg];
...
CCTexture2D* tex = [[CCTextureCache sharedTextureCache] addImage:two.jpg];
[bg setTexture: tex];
好的,这完全正常,第二张图像完全适合与第一张相同的空间和尺寸,尽管分辨率不同。现在我正在添加第二张图片,这样我就可以让第一张图片淡入第二张图片
CCSprite *newBG = [CCSprite spriteWithFile:@"two.jpg"];
newBG.scale = bg.scale;
[self addChild: newBG];
然而这不起作用,图像是应有的两倍大。
那么这里到底发生了什么?尽我所能猜测何时从图像创建精灵,设置精灵的大小,然后应用的任何纹理自动缩放以适应空间,第二个不起作用,因为新创建的精灵使用不同的大小的图像?