CCTexture2D创建的texture.size不等于image.size(仅在iPad上 - > iPad模拟器工作正常)

时间:2013-02-18 15:05:43

标签: ios ipad cocos2d-iphone

我有非常奇怪的问题。当我运行此代码时

CCTexture2DMutable * texture = [[CCTexture2DMutable alloc] initWithCGImage:image.CGImage resolutionType: kCCResolutioniPadRetinaDisplay];

    CGFloat heightOfImage = image.size.height;
    CGFloat heightOfTexture = texture.contentSize.height;

initWithCGImage 是继承自CCTexture2D的mathod。 图像< - UIImage

我得到了非常奇怪的结果:

在iPad模拟器上(工作正常):

heightOfImage = 1024

heightOfTexture = 1024

在iPad上(视网膜)(不等于???):

heightOfImage = 1024

heightOfTexture = 512

有人知道为什么吗?它让我发疯。

如果我将kCCResolutioniPadRetinaDisplay更改为kCCResolutioniPad,问题是一样的。

1 个答案:

答案 0 :(得分:1)

Cocos使用点进行测量,而不是像素(不再是)。这就是图像尺寸(以像素为单位)与纹理尺寸(以点为单位)不同的原因