cocos2d-x学习之路(14)--屏幕适配

2023-11-13

   屏幕适配是所有手机应用都需要解决的问题,在cocos2d-x 2.0之后的版本提供了相应的解决方法。

   设置屏幕分辨率

      cocos2d-x 2.1版本设置分辨率在main.cpp中,通过改变FrameSize模拟相应的分辨率

     CCEGLView* eglView = CCEGLView::sharedOpenGLView();
     eglView->setFrameSize(1024, 768);

   适配方法

  (1)根据屏幕分辨率缩放

        在AppDelegate.cpp里 设置DesignResolutionSize,也就是理想的屏幕大小。这个函数将按照实际分辨率与设计分辨率的比例缩放屏幕

         pEGLView->setDesignResolutionSize(480, 320, kResolutionNoBorder);   

         此时cocos2d-x将自动适配(480,320)的分辨率,第三个参数是缩放模式:

        kResolutionNoBorder表示没有边框,实际上就是实际就是宽高等比缩放,但缩放比例取宽比和高比之中大的那一个

       kResolutionShowAll:全部显示,可以理解为保证内容都显示在屏幕之内,实际也是宽高等比缩放,但缩放比例取宽比和高比之中小的那一个。
       kResolutionExactFit 牺牲了画质而保持了全屏显示,对画面进行了拉伸,所以一般不使用

        使用kResolutionNoBorder策略时要注意的
      CCSize szVisible = CCDirector::sharedDirector()->getVisibleSize();
      CCPoint posVisible = CCDirector::sharedDirector()->getVisibleOrigin();
使用该策略时,因为标准背景图可能会超出屏幕,所以设置位置时需要已一个可视矩形为基准。
可以这样理解,szVisible就是你在实际设备上能看到的有效区域的宽高,posVisible就是这个有效区域的起始坐标,和szVisible构成一个可视矩形,一般来说这个可视矩形是设计分辨率下可视矩形的子集。
    (2)在不同分辨率下使用不同的资源,通过设置不同分辨率下不同资源路径解决

           vector<string> searchPath;

          if (frameSize.height > mediumResource.size.height)
       {
        searchPath.push_back(largeResource.directory);

        pDirector->setContentScaleFactor(MIN(largeResource.size.height/designResolutionSize.height, largeResource.size.width/designResolutionSize.width));
       }

 

        CCFileUtils::sharedFileUtils()->setSearchPaths(searchPath);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cocos2d-x学习之路(14)--屏幕适配 的相关文章

  • 怎么禁用Windows Defender?

    如果你没有安装第三方杀毒软件 Windows10会自动激活其内置的Window Defender杀毒软件 虽然Windows Defender是Windows内置的 但是杀毒能力只能算比较平庸 并且在很多操作步骤和使用方法都不太符合用户的习
  • C++11Lambda表达式

    Lambda表达式 定义 可以理解为一个匿名函数 和函数一样 lambda表达式具有一个返回类型 一个参数列表和一个函数体 语法 capture list parameter list gt return type function bod
  • 使用tensorrt对keras-yolov3 模型进行低精度量化相关报错

    基本错误都是环境引起的 所以环境很重要 环境 python3 5 cuda10 0 cudnn 7 5 0 TensorRT 6 0 1 onnx 1 3 0 相关错误 错误1 NoneType object has no attribut
  • C++11--constexpr关键字

    关键字 constexpr 是在 C 11 中引入的 并在 C 14 中进行了改进 作用 它是用于表示 constant 常量 表达式的 常量表达式是指值不会改变并且在编译过程就能得到计算结果的表达式 使用常量表达式可以提高程序的执行效率
  • kali linux渗透测试之漏洞扫描

    主题内容就是进行漏洞扫描 文章目录 前言 一 Nikto 1 Nikto漏洞扫描介绍 2 Nikto使用 二 Nessus 1 Nessus介绍 2 安装nessus 3 nessus的简单使用 3 nessus扫描之advanced sc
  • 从浏览器地址栏输入url到显示页面的过程

    基本流程 1 用户在浏览器中输入url地址 2 浏览器解析域名得到服务器ip地址 浏览器会首先从缓存中找是否存在域名 如果存在就直接取出对应的ip地址 如果没有就开启一个DNS域名解析器 DNS域名解析器会首先访问顶级域名服务器 将对应的i
  • python编程入门书-最适合Python初学者的6本书籍推荐「必须收藏」

    Python是一种通用的解释型编程 主要用于Web开发 机器学习和复杂数据分析 Python对初学者来说是一种完美的语言 因为它易于学习和理解 随着这种语言的普及 Python程序员的机会也越来越大 如果你想学习Python编程 市场上就有
  • 2020年tensorflow定制训练模型笔记(1)——object detection的安装

    自己看着网上的很多教程摸索了好几天 终于能够自己训练 事实上 网上关于这个API的教程还是非常多的 但我实际做起来发现其实在某些关键部分缺少点步骤 会把我这样的小白搞得一头雾水 无从下手 最后在无穷无尽的报错中崩溃 所以我决定写这篇笔记 一
  • QT控件之(Lable)中的文字对齐方式

    今天才发现lable一般拖动到界面中 拉大之后 界面效果就是如下 是靠左显示出来的 但是我们想让它进行居中的显示效果 就需要选择如下的居中效果 然后就发现它可以达到居中的效果了 学习推荐 百度云盘 链接 https pan baidu co
  • 2023年数学建模排队论及Matlab实战案例

    订阅专栏后9月比赛期间会分享思路及Matlab代码 目录 实战案例 银行窗口服务模型 1 问题建模
  • pub get一直卡在Resolving dependencies...

    添加pubspec yaml配置 pub get一直卡在Resolving dependencies 原因 访问国外下载很慢 我们需要配置镜像 解决方法 官方提供的国内镜像 export PUB HOSTED URL https pub f
  • linux安装nginx服务器并配置支持php LNMP搭建

    本机环境 centos7 4 64bit 概要 使用yum安装nginx 源码编译安装php fpm 配置让服务器能支持解析php 友情连接 LAMP搭建 https blog csdn net Dong Alex article deta
  • 修改数据库表结构(SQLserver)

    1 添加表字段 alter table 表名 add 字段名 类型 值 示例 alter table tableName add columnName varchar 40 2 删除表字段 alter table 表名 drop colum
  • 建站系列(五)--- 前端开发语言之HTML、CSS、JavaScript

    目录 相关系列文章 前言 一 前端开发与后端开发 二 前端语言简介 一 HTML 二 CSS 三 JavaScript 三 学习指导 一 开发环境 二 第一个Hello world 相关系列文章 建站系列 一 网站基本常识 建站系列 二 域

随机推荐

  • SpringMVC requestBody和responseBody重复获取

    SpringMVC requestBody和responseBody重复获取 最近有个需求 要根据响应结果来判断 是否需要保存requestBody的内容到数据库 想法使用拦截器HandlerInterceptor 拦截需要处理的url 根
  • Java反射:如何正确理解,不如手写一个(反射包分析、楼主亲测)

    Java反射机制 动态代理是基于什么原理 这个问题可谓是老生常谈的一个热门问题了 如果没有深入的思考还真的是很难回到上来 那么今天我们一起来看看 如何正确清晰的认识这个热门却又说简单又不简单说复杂又比较复杂的问题 一 什么是反射 反射机制是
  • Activiti 架构分析

    Activiti是业界很流行的java工作流引擎 关于Activiti与JBPM5的关系和如何选择不是本文要讨论的话题 相关内容可以baidu一下 Activiti从架构角度看是比较优秀的 是很面向对象的 是我所阅读过的代码结构很棒的开源软
  • 基于Metronic的Bootstrap开发框架经验总结(1)-框架总览及菜单模块的处理

    最近一直很多事情 博客停下来好久没写了 整理下思路 把最近研究的基于Metronic的Bootstrap开发框架进行经验的总结出来和大家分享下 同时也记录自己对Bootstrap开发的学习研究的点点滴滴 希望在开一个 基于MVC4 Easy
  • kubectl 命令简化为k以及自动补全

    编辑配置文件 vi bashrc 加入如下3行 alias k kubectl complete o default F start kubectl k source lt kubectl completion bash 使配置生效 sou
  • 基于LendingClub数据的信贷分析和建模报告

    一 课题分析 二 数据获取 三 数据探索 主要特征含义理解 特征分布 目标特征分布 分类变量的分布 连续数值特征分布 时序特征分布 文字特征分布 两两特征的协方差 四 数据预处理 数据集划分 特征缺失值识别与处理 严重缺失值的处理 缺失值填
  • 仿everything的文件搜索工具项目详解:Part2

    目录 代码架构 基本架构 开发语言 Java8 数据库 SQLite JavaFX 多线程 文件IO流 Lombok Atomic原子类 项目难点 主要数据结构 数据表 FileMeta FileScannerCallBack接口及其子类
  • linux目录和cat命令

    1 Linux目录结构 根 相当于一个入口 文件的总入口 也是唯一入口 bin sbin 二进制文件 可执行文件 也可能存在别处 默认使用较多所有用户软连接文件 命令 sbin 管理员可使用的二进制文件 命令ls cd useradd bo
  • globals()与locals()函数

    在Python中 globals 和locals 是两个内置函数 用于获取当前作用域内的全局和局部命名空间中的变量和对象 一 globals 这个函数返回一个包含当前全局作用域中所有变量和对象的字典 在函数内部调用globals 将返回全局
  • Typora-常用快捷键

    Typora常用快捷键 1 字体编辑 大小 ctr 数字或ctr 加减号 加粗 ctr b 倾斜 ctr i 下划线 ctr u 删除线 alt shift 5 上标 字体 下标 字体 高亮 字体 清除格式 ctrl 2 创建列表 无序列表
  • Keil最舒服的配色方案

    每次重装keil 都会重新配置下颜色 因为默认的颜色 看久了实在不太舒服 每次调到一个舒服的颜色 都要花不少时间 为了后面节省时间 现记录一下 如下就是我觉得还不错的配色方案 如果你觉得也还可以 可以接着往下看 一 进入配置 二 光标所在行
  • 数据预处理与可视化

    https blog csdn net u013719780 article category 6285514 https blog csdn net u013719780 article category 6457723
  • 公司新招了个字节拿36K的人,让我见识到了什么才是测试扛把子......

    5年测试 应该是能达到资深测试的水准 即不仅能熟练地开发业务 而且还能熟悉项目开发 测试 调试和发布的流程 而且还应该能全面掌握数据库等方面的技能 如果技能再高些的话 甚至熟悉分布式组件等高级技能 或者说 做个项目小组长 管个3 4号人 应
  • SpringBoot-yml配置文件的使用与优势

    目录 一 什么是yml配置文件 二 如何在SpringBoot中使用yml配置文件 三 如何在SpringBoot中注入yml配置文件的属性 Value注解 ConfigurationProperties注解 四 yml配置文件与prope
  • c++ 成员属性设置为私有

    成员属性设置为私有 1 可以自己控制读写权限 2 对于写可以检测数据的有效性 include
  • 免费版Typora设置vue主题

    一 下载Typora与主题vue安装包 最新版版本的Typora网上开始收取费用 现在低版本的Typora仍然还是免费的 而且并不影响正常使用 下载链接在下方 并提供了vue主题文件 链接 百度网盘 请输入提取码 提取码 tdp4 二 添加
  • 【OpenCV图像处理】1.15自定义线性滤波

    自定义线性滤波 线性滤波就是卷积 实际上的作用就是降噪 卷积概念 卷积是图像处理中一个操作 是kernel在图像的每个像素上的操作 Kernel本质上一个固定大小的矩阵数组 其中心点称为锚点 anchor point 卷积如何工作 把ker
  • ggplot2读书笔记11:第八章 主题设置、存储导出

    Themes 8 1 Introduction 第八章讲的是ggplot2的主题设置 通过它你可以对数据之外的图形外观进行控制 第一版的中文版的把这一章的章节名翻译为 精雕细琢 控制主题设置主要有以下四个方面 主题元素 指的是非数据元素 p
  • 【吴恩达机器学习 - 5】揭秘学习曲线:偏差和方差与代价函数之间的相互关系(课后练习第五题-ex5)

    目录 1 回顾线性回归的正则化 1 1 代价函数 1 2 梯度 2 偏差与方差 2 1 训练集数量对 代价 的影响 3 多项式回归 3 1 多项式特征的生成 3 2 lambda对 代价 的影响 照旧 本练习的相关资料链接将会扔到评论区 大
  • cocos2d-x学习之路(14)--屏幕适配

    屏幕适配是所有手机应用都需要解决的问题 在cocos2d x 2 0之后的版本提供了相应的解决方法 设置屏幕分辨率 cocos2d x 2 1版本设置分辨率在main cpp中 通过改变FrameSize模拟相应的分辨率 CCEGLView