【问题标题】:iOS 8 cocos2d image coordinates issueiOS 8 cocos2d 图像坐标问题
【发布时间】:2014-11-05 00:24:09
【问题描述】:

我正在尝试为 iOS 8 更新我的 cocos2d 游戏并遇到问题。

我使用 Xcode 6 GM 进行的游戏,使用 iOS 7.0.3 的 iPhone 5 模拟器运行良好,但使用 iOS 8 模拟器时,所有图像都向左移动 25% 和顶部 25%,我无法获得正确的坐标。 详情请参考图片

任何帮助表示赞赏 干杯 吉特

【问题讨论】:

    标签: ios objective-c iphone cocos2d-iphone ios8


    【解决方案1】:

    在目标设置中设置正确的设备方向

    【讨论】:

    • 嗯,这个设置对我有帮助,所以我没有想法。
    • 我更改了设置,它在我的 iPod Touch 上运行,但在我的 iPod Mini 上运行。更改 iPod 和 iPad 的设置后,它开始在两者上正常工作:)
    【解决方案2】:

    我遇到了完全相同的问题。对我来说,我可以通过简单地为设备方向选择“纵向”来“修复”它(即使我的应用程序和你的一样是横向的)。

    我意识到这不是最干净的解决方案,它可能会产生意想不到的后果,但是,由于我需要尽快更新我的应用程序(它在 iOS 8 上崩溃),我现在将使用这个解决方案。

    我希望这会有所帮助!

    【讨论】:

    • 这引发了其他一些崩溃问题。感谢您的帮助
    【解决方案3】:

    对于那些有完全相同问题的人,只需使用[[CCDirector sharedDirector] winSize] 而不是使用[[UIScreen mainScreen] bounds].size 另外不要忘记在 Xcode 6 中为 iPhone6/+ 添加新的启动图像。您可以使用您的 iPhone 5/S 启动图像。在这种情况下,您不需要为 iPhone 6/+ 分辨率制作新的图像资源

    【讨论】:

    • 在我的情况下更改没有任何效果:( window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]]; 我的窗口仍然以这种方式初始化。用什么替换它与?
    【解决方案4】:

    我能够修复,(把它放在纵向)并且......

    NSString *reqSysVer = @"6.0";
    NSString *currSysVer = [[UIDevice currentDevice] systemVersion];
    
    if ([currSysVer compare:reqSysVer options:NSNumericSearch] != NSOrderedAscending)
    {
        [window setRootViewController:viewController]; //iOS 6
    } else {
        [window addSubview: viewController.view]; //iOS 5 or less
    }
    CGAffineTransform transform = CGAffineTransformMakeRotation(3.14159/2);
    viewController.view.transform = transform;
    

    【讨论】:

      【解决方案5】:

      我在我的项目中找到了另一种修复方法,检查相关问题:https://stackoverflow.com/a/26362815/2448816

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多