2013-02-18 28 views
1

我有一个很奇怪的问题。当我运行这段代码CCTexture2D创建texture.size不等于image.size(只在iPad - > iPad模拟器工作正常)

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

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

initWithCGImage是从CCTexture2D继承马托。 图像0​​- UIImage的

我变得非常怪异的结果:

在iPad上simululator(正常工作):

heightOfImage = 1024

heightOfTexture = 1024

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

heightOfImage = 1024

heightOfTexture = 512

是否有任何人知道为什么吗?它让我疯狂。

如果我将kCCResolutioniPadRetinaDisplay更改为kCCResolutioniPad,则问题是相同的。

+0

您的模拟器是否设置为Retina或非Retina iPad?你的iPad本身是否是Retina? – bdesham 2013-02-18 15:08:04

+0

我的iPad是视网膜,但如果我改变kCCResolutioniPadRetinaDisplay也一样 – ButterBeast 2013-02-18 15:13:58

+0

因为我看到问题是视网膜becouse,如果我改变视网膜模拟器的问题是一样的。 – ButterBeast 2013-02-18 15:19:27

回答

1

Cocos使用测量点,而不是像素(已经)。这就是为什么图像尺寸(以像素为单位)与纹理尺寸不同(以点为单位)

相关问题