首页 > 分享 > [phaser]利用相机进行移动端适配前言以终为始先看适配方案的最终效果,以下为同一套代码在手机和pad里的效果示意图,

[phaser]利用相机进行移动端适配前言以终为始先看适配方案的最终效果,以下为同一套代码在手机和pad里的效果示意图,

前言

phaser是一个开源2d游戏框架, 在phaser开发中, 你是否有思考过如何才能做 类似移动端vw适配, 开发时直接按照设计稿的坐标与尺寸构建UI就好, 那么你可以参考本篇的适配方案

ps: vw适配方案请见我的掘金文章: 从一个祖传项目谈移动端vw适配

以终为始

先看适配方案的最终效果, 以下为同一套代码在手机和pad里的效果

示意图, 这是一般标准的设计稿尺寸, iPhone 678, 375x667

这是减去了刘海的模拟iPhoneX, 375x812

这是竖屏版iPad mini, 768x1024

这是横屏版iPad mini, 1024x768

开发时, 我们添加元素, 设置其坐标为(0, 0), 如果其原点也为(0, 0), 其左上角就在蓝色框内区域的左上角

核心概念

1.内容区: 上图中蓝色框内区域, 主要的交互内容UI呈现区域

2.背景区: 上图中红色框内区域, 放置背景和返回按钮等非主要的交互内容UI

3.视口: 屏幕的可见区域

适配方案总结

1.如果是窄屏, 则以 屏幕的宽 / 375 为比例缩放, 上下垂直居中

2.如果是宽屏, 则以 屏幕的高 / 667 为比例缩放, 左右水平居中

主要代码

show code

// 相机的缩放比 let zoom: nubmer = 1 // 背景区缩放以后的左上角x坐标 let backgroundRectX: nubmer = 0 // 背景区缩放以后的左上角Y坐标 let backgroundRectY: nubmer = 0 const designWidth: nubmer = 375 const designHeight: nubmer = 667 const designRatio: nubmer = designWidth / designHeight const viewRatio: nubmer = window.innerWidth / window.innerHeight // 根据设计稿的宽高比与视口的宽高比判断缩放的基准 if (designRatio > viewRatio) { // 以宽为基准做缩放 zoom = window.innerWidth / this.designWidth backgroundRectY = -(window.innerHeight / zoom - designHeight) / 2 } else { // 以高为基准做缩放 zoom = window.innerHeight / designHeight backgroundRectX = -(window.innerWidth / zoom - designWidth) / 2 } const camera: Phaser.Cameras.Scene2D.Camera = this.cameras.main // 相机缩放 cameras.setZoom(zoom) // 相机移动 camerassetScroll(-(window.innerWidth - designWidth) / 2, -(window.innerHeight - designHeight) / 2)

相关知识

以生态适配性为基本原则的花境施工技术
移动端
如何从零高效的开发一款适配 Android 和 iOS 的移动端App
手机移动端快速开发
【移动开发】详细介绍
Html+Css+js实现春节倒计时效果(移动端和PC端)
不再困惑,响应式网页设计一篇读懂!
方便播种扦插和栽植的花盆的制作方法
一种蔬菜花卉无土栽培设备的制作方法
一种基于互联网的智能花坛的制作方法

网址: [phaser]利用相机进行移动端适配前言以终为始先看适配方案的最终效果,以下为同一套代码在手机和pad里的效果示意图, https://m.huajiangbk.com/newsview849583.html

所属分类:花卉
上一篇: 如何在Vue项目中使用vw实现移
下一篇: vue3移动端rem适配(amf