我正在使用以下代码创建一个行星
CCSprite *planet = [CCSprite spriteWithFile:@"planet.png" rect:CGRectMake(0, 0, width, width)];
行星本身远大于48x48,因此目前图像只是剪辑。我希望图像自动调整到容器中。我该怎么做?
答案 0 :(得分:3)
假设容器的宽度为'宽度',大于0的数字:
CCSprite *planet = [CCSprite spriteWithFile:@"planet.png"];
planet.scale=width/MAX(planet.contentSize.width,planet.contentSize.height);
虽然如果你想要一个图标大小的行星(48分),我建议你为它创建一个纹理,而不是缩小一个非常大的图像......你的里程数可能会因缩小或缩小时的渲染质量而有所不同得多。
答案 1 :(得分:1)
使用scaleTo(或scaleBy)方法并根据与原始值的百分比差异进行缩放。