• cocosCreator多种屏幕适配方案


    cocosCreator2.2.0以上版本测试过,低版本未测试。适用多种屏幕(大屏,小屏,异形屏等)。

    下面附上代码:

    start(){

      this.resetSize(this.node);

    }

    /**
         * 手机屏幕适配
         * @param cav 
         */
        resetSize(cav) {
            let frameSize = cc.view.getFrameSize();
            let designSize = cc.view.getDesignResolutionSize();

            if (frameSize.width / frameSize.height > designSize.width / designSize.height) {
                cav.width = designSize.height * frameSize.width / frameSize.height;
                cav.height = designSize.height;
                cav.getComponent(cc.Canvas).designResolution = cc.size(cav.width, cav.height);
            } else {
                cav.width = designSize.width;
                cav.height = designSize.width * frameSize.height / frameSize.width;
                cav.getComponent(cc.Canvas).designResolution = cc.size(cav.width, cav.height);
            }
            this.fitScreen(cav, designSize);
        }
        /**
         * 背景适配
         * @param canvasnode 
         * @param designSize 
         */
        fitScreen(canvasnode, designSize) {
            let scaleW = canvasnode.width / designSize.width;
            let scaleH = canvasnode.height / designSize.height;

            let bgNode = canvasnode.getChildByName('background');
            let bgScale = canvasnode.height / bgNode.height;
            bgNode.width *= bgScale;
            bgNode.height *= bgScale;
            if (scaleW > scaleH) {
                bgScale = canvasnode.width / bgNode.width;
                bgNode.width *= bgScale;
                bgNode.height *= bgScale;
            }
        }
  • 相关阅读:
    Hadoop week review
    [Q&A] VS 连接 SQLServer 时未找到或无法访问服务器
    [System] CentOS虚拟机系统克隆后的网络配置
    [Tool] csdn客户端开发(非官方版)
    [MySQL] Win7 下修改 MySQL 5.5 默认编码格式
    [Q&A] MySQL Error 1050(42S01): Table already exist
    [Matlab] libsvmmat 安装
    [SL] Silverlight + WCF Demo项目
    [Q&A] 在证书存储区中找不到清单签名证书
    谷歌浏览器当手机浏览器
  • 原文地址:https://www.cnblogs.com/color123456/p/12460866.html
Copyright © 2020-2023  润新知