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

标签 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 的方法。 图片 <-- UIImage

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

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

图像高度 = 1024

纹理高度 = 1024

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

图像高度 = 1024

纹理高度 = 512

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

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

最佳答案

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

关于ios - CCTexture2D 创建的 texture.size 不等于 image.size(仅在 iPad 上 --> iPad 模拟器工作正常),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14939309/

相关文章:

ios - 显示四个随机图像

ios - 不同设备的不同设置?

ios - 二值过滤的阈值

ios - 我需要运行 XCode 4.3 项目两次才能启动 cocos2d 应用程序

cocoa - 如何避免启动时打开双窗口?

cocos2d-iphone - 如何使 box2d 主体沿贝塞尔曲线/圆弧路径移动

ios - 如何在 iOS 中以编程方式制作屏幕截图?

ios - 无法在 Swift 中设置作为 UIScrollView subview 的 UIView 的背景颜色

iOS。通过 IP 在同一本地网络中获取其他设备/计算机名称

ios - iPad 中 UITableView 中的 CALayer setCornerRadius 滞后?