首页 > 其他分享 >Cocos creator屏幕适配怎么做?

Cocos creator屏幕适配怎么做?

时间:2023-11-14 14:57:41浏览次数:32  
标签:纬度 Cocos creator 适配 分辨率 固定 屏幕 1920x1080

前言

cocos creator屏幕适配是面试中必问的一个题目,今天给大家说说怎么样做屏幕适配。

1: 屏幕适配的2个核心的配置

a: 设计分辨率: 美术设计资源时候的分辨率, 也是我们所有资源的参考分辨率,我们就是基于这个分辨率来适配到其它不同的手机分辨率上的;

b: 适配策略: 固定高度/固定宽度;

设计分辨率大家都好理解,那么什么是适配策略呢?

假设我们以设计分辨率是 960x640为例,我们要适配到 1920x1080上面, 大家会发现,这个怎么适配啊?960x640----> 1920x1080,高度不一样,宽度不一样,有两个不同的纬度需要适配,这样的话处理起来有一些难度。游戏引擎就想了一个办法,我先在一个纬度保持一致,然后在另外一个纬度来进行适配;那到底是选哪个纬度呢?如果是高度一致,那么就是固定高度,如果是宽度一致,那么就是固定宽度。这个就是固定高度与固定宽度的由来。

固定高度: 960x640, 先做好逻辑分辨率((1920 * 640 / 1080)x 640)适配, 然后,我们在乘以一个比例scale(1080/640), 到1920x1080上;

固定宽度: 960x640, 先做好逻辑分辨率适配 (960 x (1080 * 960 /1920)), 然后我们在剩一个比例scale(1920/960), 到 1920x1080上;

游戏引擎处理的大小,坐标,都是逻辑大小,游戏窗口的逻辑大小就是我们固定高度or固定宽度策略算出来以后的分辨率;

所以我们在代码里面的大小位置,都是基于逻辑分辨率的,在最终绘制的时候,大小,位置,都会乘以到目标像素分辨率锁固定的比例scale;

比如 100 * 100, 固定高度, 到 1920x1080后像素大小是 (100x100) *1080/640, 这样我们最终就适配到 1920x1080上了;

妙招1: 停靠点

一个纬度和设计是一致的,我们只要考虑另外一个纬度的适配,在另外一个纬度的范围内,把设计里面的主要内容都摆布进来。这个时候就会出现相对的几个点,比如我的类型是基于中心的,基于上面的,基于下面的… 所有在适配的时候,我们一般会做几个标志的参考点,如图红色点点

核心原理就是,不管你的屏幕大小怎么变,我只要动态的根据屏幕大小来调整参考点的位置,这样,相对于参考点的元素也会跟着移动,一般适配我们都是这样来做的,那这个适配我们很多都会有组件来完成,例如Widget等。你上边的logo,无论屏幕怎么变,都是上面的,下边的,无论屏幕怎么变都是下面的。

妙招2: 内容缩放

即使这样,因为一个纬度毕竟不同,有可能在这个纬度上,内容放不下,粘到一起了,我们还是的要对内容的大小来做一些调整, 可以根据逻辑分辨率,来做一些内容上的缩放,能让这些内容排下;

秒招3: 大小调整

有一些UI控件,是区域性的,比如滚动条等,我们希望适配后,区域大小也要随屏幕的变化而变化,那么这个时候,可以设置区域相对于边界的偏移, 如图:

 

 

这样边界变了,大小也跟着变了。

其实搞懂了适配的核心原理,一点都不难,下次面试你会回答了么?

标签:纬度,Cocos,creator,适配,分辨率,固定,屏幕,1920x1080
From: https://www.cnblogs.com/bycw/p/17831572.html

相关文章

  • PostCSS通过px2rem插件和lib-flexible将px单位转换为rem(root em)单位实现大屏适配
    目录文档postcss中使用postcss-plugin-px2rem安装postcss-plugin-px2rem示例默认配置webpack中使用postcss-plugin-px2rem项目结构安装依赖文件内容大屏适配参考文章文档类似的插件postcss-plugin-px2remhttps://www.npmjs.com/package/postcss-plugin-px2remhttps://github.com/......
  • 国产首款IDE环境:数字广东公司联合麒麟软件打造的国内首款适配国产操作系统、蜘蛛创新
    参考:https://www.youtube.com/watch?v=fOpBEWZVKU0   在中国it历史上继“木兰编程语言(实际上套壳Python),红旗操作系统(实际上套壳Chrome),汉芯(虚假芯片),鸿蒙操作系统(安卓套壳)”后又推出了一款由数字广东公司联合麒麟软件打造的国内首款适配国产操作系统、蜘蛛创新的集成开发环......
  • Cocos Creator中Component使用详解
    序言在CocosCreator游戏开发中,组件是使用是非常频繁,对于组件的入口函数、常用属性、组件的操作等,必须做到非常熟悉。一、组件入口函数1:onLoad:组件加载的时候调用,保证了你可以获取到场景中的其他节点,以及节点关联的资源数据2:start:也就是第一次执行update之前触发......
  • 来来来,一文让你读懂Cocos Creator如何读写JSON文件
    前言在游戏开发过程中,读取配置文件是必不可少的,而使用JSON做配置文件又比较常见,本文重点给大家讲述如何在CocosCreator开发中读取和解析JSON数据文件以及如何写JSON文件。一、JSON简介1.什么是JSONJSON的英文全称是JavaScriptObjectNotation,即JavaScript对象表示法。2.J......
  • Cocos Creator之不规则的点击区域
    一,前景1,点击区域不是一个矩形,如下图所示二,新建一个节点(Node)   1,添加Sprite组件  2,继续添加Button组件3,添加PolygonCollider2D组件三,核心代码import{_decorator,Component,Node,isValid,PolygonCollider2D,Intersection2D,UITrans......
  • rem适配(移动端)
    移动端适配是开发过程中不得不面对的事情。在此,我们使用postcss中的px2rem-loader,将我们项目中的px按一定比例转化rem,这样我们就可以对着蓝湖上的标注写px了。我们将html字跟字体设置为100px,很多人选择设置为375px,但是我觉得这样换算出来的rem不够精确,而且我们在控......
  • 每日随笔——适配器模式
    [实验任务一]:双向适配器实现一个双向适配器,使得猫可以学狗叫,狗可以学猫抓老鼠。实验要求:1.画出对应的类图;2.提交源代码;3.注意编程规范。类图 源码:Catpackagesc8;publicinterfacecat{voidcatchMouse();voidcry();}Dogpackagesc8;publicinter......
  • GB28181/GB35114国标平台LiveGBS适配国产信创环境,使用国产数据库达梦数据库、高斯数据
    1、如何配置切换信创达梦数据库?livecms.ini->[db]下面添加配置如:...[db]dialect=dmurl=dm://SYSDBA:Aa12345678@localhost:5236/livegbs2、如何配置切换高斯数据库?livecms.ini->[db]下面添加配置如:...[db]dialect=gaussurl=host=192.168.2.153port=5432user=l......
  • Cocos Creator 性能调优之《如何优化2D/3D Drawcall》
    游戏渲染是性能开销的大头,在项目开发中掌握性能调优中渲染优化相关技巧是非常重要的。渲染优化又可以从很多方面来入手,其中降低Drawcall是非常重要的手段之一。接下来从4个点来详细的讲解基于CocosCreator3.x如何做Drawcall的性能优化:为什么降低Drawcall能提升渲染性能;常用合......
  • Cocos Creator中的向量cc.Vec2和矩形cc.Rect
    前言在CocosCreator游戏开发中,经常需要使用向量和矩形,这篇文章我们来总结下其常见用法。一、Vec2二维向量 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬,欢迎你来交流学习。 1.`letv1:cc.Vec2=......