Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >[Cocos Creator] 多分辨率适配方案

[Cocos Creator] 多分辨率适配方案

作者头像
陈皮皮
发布于 2020-07-10 08:41:23
发布于 2020-07-10 08:41:23
1.6K0
举报
文章被收录于专栏:菜鸟小栈菜鸟小栈

本文由“壹伴编辑器”提供技术支持

前言

现在市场上的显示设备分辨率五花八门绿肥红瘦(主要是手机),所以屏幕适配是游戏开发过程中必不可少的步骤。

这次给大家分享一个较通用的多分辨率适配方案,无论是什么奇葩分辨率都能完整地显示游戏内容。

效果图

本文由“壹伴编辑器”提供技术支持

正文

Cocos Creator 引擎自带的 Canvas 组件中有 Fit HeightFit Width 属性来让游戏适配不同的分辨率,但是这两种方案都有各自的局限:

  • Fit Height 模式:适用于宽大于高的屏幕
  • Fit Width 模式:适用于高大于宽的屏幕

Canvas 组件

既然如此,那我们是不是可以动态地判断屏幕的宽高比来选择启用 Fit Height 模式或者 Fit Width 模式呢。

以上这就是该方案的整体思路了,下面我们看具体的代码实现。

—▼—

这里我将适配分辨率做成了一个单独脚本(组件),将脚本挂载在场景中任意节点上之后(个人选择挂在 Canvas 节点上),即可在游戏开始时适配当前分辨率。

其中核心代码为(完整文件点击文章底部 阅读原文 获取):

关键函数

在 onLoad 时调用 adapt 函数:

onLoad

另外,如果项目运行在可动态调整窗口大小的平台(比如浏览器),我们需要在每次调整窗口大小后都适配一次。

我们可以利用 cc.view.setResizeCallback 函数来设置窗口变化时的回调,达到每次窗口变化都能自动适配的效果:

onLoad+

本文由“壹伴编辑器”提供技术支

结束语

以上皆为本菜鸡的个人观点,如果有哪些地方说的不对,还请各位指出,大家共同进步。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-04-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 菜鸟小栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Vue 项目中基于 rem 布局的解析及大屏场景自适应技术实现方案
通过本文提供的方案,你可以在Vue项目中高效地实现rem布局与大屏自适应。关键技术点包括:
小焱
2025/05/26
2570
Vue 项目中基于 rem 布局的解析及大屏场景自适应技术实现方案
今日头条屏幕适配方案落地研究
大家好,现在给大家推荐一种极低版本的 Android 屏幕适配方案,就是今日头条适配方案,“极低成本”这四个字正是今日头条的适配文章标题。
终端研发部
2019/06/06
1.6K0
今日头条屏幕适配方案落地研究
【干货】Cocos Creator制作一个微信小游戏(下)
| 导语 微信小游戏都火成这样了,为什么不尝试一下? 我们的目标是使用Cocos Creator从零开始制作一个小游戏,并放到微信上玩。 上文链接:Cocos Creator制作一个微信小游戏(上) 四、游戏逻辑 开始游戏菜单逻辑 在Script文件夹上右键-新建-JavaScript,创建一个名字为Menu的代码文件。 双击一下资源管理器中的Menu场景,再在层级管理器中单击一下Canvas节点,显示节点的属性检查器,然后把Script目录中的Menu代码文件搬去到属性检查器中,以实现代码和场景的绑定。
腾讯NEXT学位
2018/12/04
6K2
【干货】Cocos Creator制作一个微信小游戏(下)
Unity3D-关于项目的屏幕适配(看我就够了)
屏幕适配是为了让我们的项目能够跑在各种电子设备上(手机,平板,电脑) 那么了解是适配之前首先要了解两个知识点:
孙寅
2020/06/02
29.2K0
Cocos——UI多端适配之道
前端同学通常都用媒体查询或 rem 做多端适配,但是在 Cocos 上 CSS 不复存在。那你知道在 Cocos 上如何做到多端适配吗?本文从需求背景出发,带你领略Cocos的多端适配之道~ 背景 某一天接到了新需求,自己看了设计同学给的设计稿后瞬间感觉头大,分析了下主要有以下难点: 题目背景需为同一张背景图,在不同端上要显示背景图的不同区域 标题栏上的倒计时、题干与最小化按钮的贴边距离在各端各不相同 选项背景图需根据选项长度自动拉伸,同时保证两侧圆角不被拉伸 如果这种适配方案采用CSS实现的话,肯定
用户1097444
2022/06/29
2.4K0
Cocos——UI多端适配之道
编程小知识之 CanvasScaler 的一点知识
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tkokof1/article/details/90269063
用户2615200
2019/06/14
5830
Cocos Creator制作一个微信小游戏(上)
| 导语 微信小游戏都火成这样了,为什么不尝试一下? 我们的目标是使用Cocos Creator从零开始制作一个小游戏,并放到微信上玩。
腾讯NEXT学位
2018/10/31
13.9K3
cocos2d-js 3.0 屏幕适配方案 分辨率适应
首先介绍一个api和相应的参数: cc.view.setDesignResolutionSize(1024, 768, cc.ResolutionPolicy.FIXED_WIDTH); 这里设置游戏制作的目标尺寸和显示的模式。 模式包括: cc.ResolutionPolicy = { // The entire application is visible in the specified area without trying to preserve the original aspect r
用户1258909
2018/07/03
1.9K0
适配完结篇三 - 超稳定的values-wXXXdp适配方案(原创)
下图给的是最原始的鸿洋_的方案: 假设现在的UI设计图是按照480份数*320份数设计的,且上面的宽和高的标识都是px的值,你可以直接将px转化为x[1-320],y[1-480],这样写出的布局基本就可以全分辨率适配了。
acc8226
2022/05/17
7210
适配完结篇三 - 超稳定的values-wXXXdp适配方案(原创)
AndroidAutoSize今日头条适配方案[通俗易懂]
最近公司没有什么事,闲来无聊,就研究一下今日头条的适配方案,不看不知道,真是一看吓一跳,快速上手而且还简单易懂,
全栈程序员站长
2022/08/18
4.1K0
AndroidAutoSize今日头条适配方案[通俗易懂]
Cocos Creator 制作第一个游戏
您正在阅读的手册文档包括了系统化的介绍 Cocos Creator 的编辑器界面、功能和工作流程,但如果您想快速上手体验使用 Cocos Creator 开发游戏的大体流程和方法,这一章将满足您的好奇心。完成本章教程之后,您应该能获得足够上手制作游戏的信息,不过我们还是推荐您继续阅读本手册来了解各个功能模块的细节和完整的工作流程。
bering
2019/12/02
2K1
Android全面的屏幕适配方案解析(四)__今日头条适配方案
之前三篇把屏幕适配概念梳理了还讲解了列举的其中四种适配方案,还没有看过的童鞋可以先参考这三篇: Android全面的屏幕适配方案解析(一)__屏幕适配概念梳理 Android全面的屏幕适配方案解析(二)__宽高限定符屏幕适配 Android全面的屏幕适配方案解析(三)__sw限定符适配方案 Android全面的屏幕适配方案解析(四)__今日头条适配方案
SoullessCoder
2022/03/23
1.7K0
Android全面的屏幕适配方案解析(四)__今日头条适配方案
Vue3 大屏自适应代码封装实现方法与实战技巧
通过本文提供的方案,你可以在Vue3项目中实现高效的大屏自适应功能。关键技术点包括:
小焱
2025/05/25
1820
Vue3 大屏自适应代码封装实现方法与实战技巧
Android全面的屏幕适配方案解析(二)
上一篇把屏幕适配相关的概念梳理了一下,主要也是为了能更好的理解后面内容,那从这篇开始就要讲解适配方案啦,没看第一篇的可以先看这篇:Android全面的屏幕适配方案解析(一)
SoullessCoder
2022/01/05
1.2K0
Android全面的屏幕适配方案解析(二)
移动端适配必须掌握的基本概念和适配方案
随着技术的发展,移动设备越来越流行,并且不同设备间屏幕尺寸和屏幕像素的差异,移动端开发面临着多分辨率适配的问题。
用户6167509
2020/07/23
1.1K0
如何打造一个高效适配的H5
以往拿到一份视觉稿要做页面适配,通常都是针对不同分辨率尺寸做断点写 media query,然后看效果再微调。开发过程中视觉稿要是做了修改,修改的地方就得再走一遍分辨率测试和微调,这时想屎的心都有了。而且这些适配都是建立在已 知的分辨率尺寸库上,如果市面新出来一款分辨率尺寸机型,呵呵,又要奔跑在测试微调路上。是不是能有用一套代码就适应各种分辨率窗口,那么就不会再有上面 这些烦恼,且开发效率快和维护成本会降低很多。 答案是有的,而且这种形式最早出现于 flash 全屏整站,前阵子拜读了举总介绍的一篇文章关于图
前朝楚水
2018/04/03
1.3K0
如何打造一个高效适配的H5
Cocos2d-x初学者教程
本文翻译自 https://www.raywenderlich.com/网站上Guanghui Qu写的2015年4月30号的一篇博文 Cocos2d-x Tutorial for Beginners,他使用的Cocos2d-x的版本是 version 3.5。另外,关于在Windows10下使用Cocos2d-x 3.17.2构建项目的,可以参考我之前写的博客: Win10+Python2.7.14+cocos2d-x-3.17.2+VS2017环境搭建
ccf19881030
2020/10/09
6.7K0
iPhone屏幕分辨率及适配技术
一般情况下,我们说iPhone 8的屏幕是4.7寸屏,就是指iPhone 8的屏幕对角线为4.7英寸。 屏幕的单位是以英寸为单位,换算关系:1 inch = 2.54cm = 25.4mm。 2. 分辨率 历代iPhone的分辨率:
用户5521279
2020/09/23
3.9K0
iPhone屏幕分辨率及适配技术
实用Android 屏幕适配方案分享
真正可用,并且简单易行,可以在多个屏幕大小和屏幕密度上有良好表现的Android 屏幕适配方案,已用在一款成熟互联网应用中,效果还不错。 说起android开发,UI界面的多机型适配,一向是个很重要
xiangzhihong
2018/01/30
1.3K0
实用Android 屏幕适配方案分享
适配完结篇一 - 超快速的Android屏幕适配方式
由于Android碎片化严重,屏幕分辨率千奇百怪,而想要在各种分辨率的设备上显示基本一致的效果,适配成本越来越高。虽然Android官方提供了dp单位来适配,但其在各种奇怪分辨率下表现却不尽如人意,因此下面探索一种简单且低侵入的适配方式。
acc8226
2022/05/17
9470
适配完结篇一 -  超快速的Android屏幕适配方式
推荐阅读
相关推荐
Vue 项目中基于 rem 布局的解析及大屏场景自适应技术实现方案
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档