H5小游戏iphoneX(安全区、刘海)屏幕适配

2023-11-03 02:10

本文主要是介绍H5小游戏iphoneX(安全区、刘海)屏幕适配,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

全屏H5网页和小游戏解决方法

1、方法及其简单,只需在html文件的头部viewport行加入viewport-fit=cover即可。
截图展示如下(因没有H5网页项目,这里暂用cocoscreator代替,但解决方式是一样的。):
在这里插入图片描述
可复制粘贴代码如下:

<meta name="viewport" content="width=device-width, initial-scale=1.0,maximum-scale=1.0,user-scalable=no,viewport-fit=cover">

普通H5网页iphoneX底部刘海屏适配至此,问题解决完毕。

补充 @半世 2020/10/27
最近又开发了一款放到直播间的全屏小游戏,发现一个奇怪的问题,iphoneX的屏幕适配失败了!!!用的方法跟之前设配成功的方式一样,在index.html里面加入 viewport-fit=cover 。不信邪的我把之前那个适配成功的小游戏,拿出来在ihponeX的设备上再跑一次,发现也失败了!!!做ios同事的同款手机,时而适配成功时而失败。具体解决方式,待寻找解决之道。
追更 @半世 2020/11/09
刚做完一个全屏的小游戏,用了最新的creator版本v2.4.2,因为里面新添加了安全区适配组件SafeArea,悲催的是web端的小游戏使用该组件后并没有起到任何效果,游戏并没有绘制到手机的安全区区域内,随后通过API文档接口,了解到:
在这里插入图片描述

个人适配想法

根据半屏小游戏适配成功的经验,web端全屏小游戏的异型屏幕适配,我设想,如果ios原生开发人员将webview的高度增加34pt,并同时将webview位置下移34pt,这样从视觉上可以变相的解决安全区域适配。同理,如果想适配顶部的刘海区域,则可以再将webview高度增加34pt,则游戏的可绘制区域则从视觉上显示为全屏渲染。但,公司开发人员,并不是很想用这种方式,所以这个设想未经实际验证,需要你们去试试,成功了麻烦留言告诉我一下。

追加
以上想法,公司ios开发已验证成功,webview高度增加了3个安全区的高度,即102pt。因苹果屏幕的坐标系远点在左上角,所以webview的位置要往上移动68pt即可。适配后的游戏在安全区域显示如下:
在这里插入图片描述

非全屏H5小游戏iphoneX底部安全区适配解决方法

备注:我这里用的是cocoscreator v2.1.2版本

背景

往app直播间内弹半屏性质的小游戏。

解决步骤

1、creator里面勾选Fit Width适配宽度,切记Fit Height适配不要勾选。

2、通过步骤1我们已经解决了小游戏宽度方面的完美适配,下面只要专心解决高度方面的适配即可。

3、其实这个问题也比较简单,在场景创建时,如果设计宽高高度是750X576,那么请加上iphoneX安全区的高度34pt,但是在我们前端要加上68px(原生的2倍),也就是canvas的宽高更改为750X644。并且,在场景搭建时,尽量给每个节点加上wedget组件,同时选择顶部对齐,就是750X576的设计分辨率去排版即可。场景底部多余出来的68px,只需把背景图拉伸铺满即可,至此前端这边要做的事情就做完了。

4、IOS这边要把app内嵌webview的Iphonex的安全区给关掉,同时弹出的webview高度要是加上安全区的高度来弹即可。这样子,在ihopnex上面显示时,游戏背景会把安全区给铺满,同时在其他机型上会因webview的高度不足和游戏设计时的顶部对齐,而把游戏场景底部多出的68px给自动裁掉显示。
至此,适配完成。

这篇关于H5小游戏iphoneX(安全区、刘海)屏幕适配的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/334841

相关文章

Python利用自带模块实现屏幕像素高效操作

《Python利用自带模块实现屏幕像素高效操作》这篇文章主要为大家详细介绍了Python如何利用自带模块实现屏幕像素高效操作,文中的示例代码讲解详,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1、获取屏幕放缩比例2、获取屏幕指定坐标处像素颜色3、一个简单的使用案例4、总结1、获取屏幕放缩比例from

鸿蒙开发搭建flutter适配的开发环境

《鸿蒙开发搭建flutter适配的开发环境》文章详细介绍了在Windows系统上如何创建和运行鸿蒙Flutter项目,包括使用flutterdoctor检测环境、创建项目、编译HAP包以及在真机上运... 目录环境搭建创建运行项目打包项目总结环境搭建1.安装 DevEco Studio NEXT IDE

EasyPlayer.js网页H5 Web js播放器能力合集

最近遇到一个需求,要求做一款播放器,发现能力上跟EasyPlayer.js基本一致,满足要求: 需求 功性能 分类 需求描述 功能 预览 分屏模式 单分屏(单屏/全屏) 多分屏(2*2) 多分屏(3*3) 多分屏(4*4) 播放控制 播放(单个或全部) 暂停(暂停时展示最后一帧画面) 停止(单个或全部) 声音控制(开关/音量调节) 主辅码流切换 辅助功能 屏

H5漂流瓶社交系统源码

一个非常有创意的H5漂流瓶社交系统源码,带完整前端h5和后台管理系统。 环境:Nginx 1.20.1-MySQL 5.6.50-PHP-7.3 代码下载

Weex入门教程之4,获取当前全局环境变量和配置信息(屏幕高度、宽度等)

$getConfig() 获取当前全局环境变量和配置信息。 Returns: config (object): 配置对象;bundleUrl (string): bundle 的 url;debug (boolean): 是否是调试模式;env (object): 环境对象; weexVersion (string): Weex sdk 版本;appName (string): 应用名字;

一款支持同一个屏幕界面同时播放多个视频的视频播放软件

GridPlayer 是一款基于 VLC 的免费开源跨平台多视频同步播放工具,支持在一块屏幕上同时播放多个视频。其主要功能包括: 多视频播放:用户可以在一个窗口中同时播放任意数量的视频,数量仅受硬件性能限制。支持多种格式和流媒体:GridPlayer 支持所有由 VLC 支持的视频格式以及流媒体 URL(如 m3u8 链接)。自定义网格布局:用户可以配置播放器的网格布局,以适应不同的观看需求。硬

鸿蒙开发5.0【Picker的受限权限适配方案】

Picker由系统独立进程实现,应用可以通过拉起Picker组件,用户在Picker上选择对应的资源(如图片、文档等),应用可以获取Picker返回的结果。 类型受限权限使用的picker音频ohos.permission.READ_AUDIO,ohos.permission.WRITE_AUDIOAudioViewPicker文件ohos.permission.READ_DOCUMENT,oh

安卓实现弹出软键盘屏幕自适应调整

今天,我通过尝试诸多方法,最终实现了软键盘弹出屏幕的自适应。      其实,一开始我想通过EditText的事件来实现,后来发现,安卓自带的函数十分强大,只需几行代码,便可实现。实现如下:     在Manifest中设置activity的属性:android:windowSoftInputMode="adjustUnspecified|stateHidden|adjustResi

没资料的屏幕怎么点亮?思路分享

这次尝试调通一个没资料的屏幕,型号是HYT13264,这个是淘宝上面的老王2.9元屏,成色很好但是长期库存没有资料和代码能点亮,仅仅只有一个引脚定义。这里我使用Arduino Nano作为控制器尝试点亮这个模块。 首先,已知别人找出来的线序如下 1 - CS2 - RST 3 - DC4 - SCK5 - SDA6 - VCC7 - GND8 - K59 - K410

Cocos2d-x自适应Android屏幕分辨

ndroid下分辨率太多,不太可能为每种分辨率做一套资源,目前一般来说比较流行的是320*480, 800*400, 854*400。当然现在720P的也出来了,但至少目前不是主流机型^_^. 对于不支持的分辨率,我希望的是能够按照屏幕大小按比例缩放,即有了下面的代码。 1:ViewAutoScale 写了一个ViewAutoScale函数,如下:   #include "ViewAuto