cocos-js,屏幕适配

本文介绍了Cocos-JS中屏幕适配的五种模式:EXACT_FIT, NO_BORDER, SHOW_ALL, FIXED_HEIGHT, FIXED_WIDTH,并探讨了设计分辨率与窗口分辨率的区别。通过代码示例展示了如何设置适配模式和窗口大小。最后,通过实例分析了两种不同的适配应用场景:黑边模式和无黑边模式,强调了UI布局和背景图的重要性。" 108718708,9106569,Java SpringBoot + Vue实现用户管理SPA应用,"['Java', 'Vue', '前端开发', '后端开发', 'SpringBoot', '微服务']
摘要由CSDN通过智能技术生成

一、基础概念

五种适配模式:

  • EXACT_FIT:会靠拉伸来填满屏幕,背景图会变形来充满屏幕,因为1024:768=1.3, 480:320=1.5,宽高比不同,图片也就无法等比缩放来填满屏幕,只能变形了。

  • NO_BORDER:看不到黑边,实际就是宽高等比缩放,但缩放比例取宽比和高比中大的那一个

  • SHOW_ALL:全部显示,可以理解为保证内容都显示在屏幕之内,实际也是宽高等比缩放,但缩放比例取宽比和高比之中小的那一个。
  • FIXED_HEIGHT:保持传入的设计分辨率高度不变,根据屏幕分辨率修正设计分辨率的宽度。
  • FIXED_WIDTH:保持传入的设计分辨率宽度不变,根据屏幕分辨率修正设计分辨率的高度。

两种分辨率:

  • 窗口分辨率:在电脑上就是显示窗口的分辨率,在手机上就是手机的屏幕分辨率
  • 设计分辨率:游戏在设计时候的分辨率,也就是可视区域的大小

适配原理:

就是根据不同的适配模式,设计分辨率,窗口分辨率生成最终可视区域大小的转换过程。

二、代码相关—CCGLView

在不同平台下,CCEGLView是不同的
(PS:cocos2d-x中有很多这样的用法,即同一个头文件,在不同平台上实现不同)
CCEGLView除了和屏幕适配有关外,还用来处理鼠标点击模拟器触摸,按键等事件的处理。
设置窗口大小:

void GLView::setFrameSize(float width, float height)
{
    _designResolutionSize = _screenSize = Size(width, height);
}

设置设计分辨率大小和适配模式:

void GLView::setDesignResolutionSize(float width, f
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值