【问题标题】:How to get Aspect Ratio of device in Cocos2d-x?如何在 Cocos2d-x 中获取设备的纵横比?
【发布时间】:2015-01-17 05:37:56
【问题描述】:

有什么方法可以获取设备的纵横比。比如是16:9还是4:3还是3:2?

我想为这些分辨率精确匹配资源。我面临的问题是设备没有给出确切的值,例如 iPhone 4 英寸的宽度/高度不完全是 16:9 但相对相等。有没有办法获得设备的纵横比?

提前致谢

【问题讨论】:

    标签: cocos2d-x aspect-ratio


    【解决方案1】:

    这是获取屏幕纵横比的伪代码。您可能需要设置 table 具有 16:9、4:3、3:2 或任何您想要的宽高比条目。

    auto frameSize = Director::getInstance()->getOpenGLView()->getFrameSize();
    auto aspectRatio = frameSize.width / frameSize.height;
    
    int aspectRatioType = DEFAULT_ASPECT_RATIO_TYPE;
    float closest = FLT_MAX; 
    for (const auto& i : table) {
        auto d = fabs(i.aspectRatio - aspectRatio);
        if (d < closest) {
            closest = d;
            aspectRatioType = i.aspectRatioType;
        }
    }
    return aspectRatioType;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-12-11
      • 1970-01-01
      • 2021-02-23
      • 2011-08-09
      • 2011-12-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多