Corona 不同设备分辨率适应
移动平台下,不同设备的宽高比不同,那么必然存在与游戏设计时的宽高比不一致的情况,Corona的解决方案是定义了一个虚拟的屏幕高宽,比如1024*768,然后在不同设备上通过定义的适应模式去调整这个虚拟屏幕。这样写代码时大多数情况下只需要考虑sprite在虚拟屏幕上的位置和大小就可以了,链接:http://www.coronalabs.com/blog/2010/11/20/content-scaling-made-easy/
适应的模式有3种
letterbox
这种模式不会由于宽高不匹配,而拉伸或者剪裁屏幕。它类似于在4:3的老电视上面播放宽屏幕电影的效果。当然这样会由于宽高不匹配而留下黑边,Corona也提供了一种方式,让背景图拉伸全屏幕显示,而不是留下黑边。它内部的换算方式,我觉得是按设备能容纳的空间去等比例缩放虚拟屏幕,公式为Wvir / Hvir = Wdevnew / Hdevnew,(Wdevnew,Hdevnew为屏幕上的大小),比如说虚拟屏幕是1024:768,设备比如iphone是480:320,那么iphone上面能容忍最大虚拟屏幕就是426:320,那么X维度上就会留出背景位置。letterbox还提供几种对齐方式,让虚拟屏幕在设备屏幕上面左对齐,右对齐,居中。

zoomEven
这种模式不匹配时不会发生拉伸,但会被剪裁,它会等比例缩放去铺满整个屏幕,与letterbox不同的是,letterbox在等比例缩放铺满整个屏幕时,需要考虑设备屏幕是否容纳的下,比如说上面的iphone例子,虚拟屏幕的宽高比是1.333,如果考虑铺满屏幕,那么比例应该是480:360,在高度上面,就会发生剪裁。这种方式在某些对剪裁无所谓的游戏,特别有效,比如飞机游戏,动作过关等等。
zoomStretch
这种模式不匹配时会拉伸,但不会被剪裁,它其实就是根据虚拟屏幕的宽高比与设备宽高比,去换算sprite的位置,大小,然后使得整个虚拟屏幕都在设备上显示。
还有最后一个none,其实就是不使用corona提供的设备适应模式,平铺上去。
Corona 不同设备分辨率适应的更多相关文章
- 常见手机的设备分辨率、viewport和devicePixelRatio
常见手机的设备分辨率和viewport分辨率,及其1rem的大小(以vmin为单位) 常见的devicePixelRatio是1, 1.325, 1.5, 2, 2.4, 3. (具体见下面的表格, ...
- iOS设备分辨率
CHENYILONG Blog iOS设备分辨率 © chenyilong. Powered by Postach.io Blog
- unity获取设备分辨率
设备分辨率 using UnityEngine; using System.Collections; public class ExampleClass : MonoBehaviour { void ...
- Web移动端设计——移动设备分辨率一览表
作为在移动端开发的web程序员来说,如果不懂设备的一些性能,在开发上面是非常耗时间的一件事,同时带来负面影响的是项目的进度被拖腿了. 下面是个人收集的一些移动端设备的分辨率参数: 1. 平板设备: ...
- ios设备 分辨率(转)
1 iOS设备的分辨率 iOS设备,目前最主要的有3种(Apple TV等不在此讨论),按分辨率分为两类 iPhone/iPod Touch 普屏分辨率 320像素 x 480像素 Retina ...
- 移动设备分辨率(终于弄懂了为什么移动端设计稿总是640px和750px)
在我开始写移动端页面至今,一直有2个疑问困扰着我,我只知道结果但不知道为什么 问题1:为什么设计师给的设计稿总是640px或750px(现在一般以Phone6为基准,给的750px) 问题2:为什么我 ...
- rpx单位与移动设备分辨率
移动设备的分辨率与rpx 不是所有的单位都适合用rpx 文章来源:刘俊涛的博客 欢迎关注,有问题一起学习欢迎留言.评论
- Js获取移动设备分辨率
在<head>中引入 <meta name="viewport" content="width=device-width, initial-scale ...
- UWP 设备分辨率
之前看了下网上,分辨率都是用webview js拿或者全屏拿宽高,很有局限性. 研究一下.找到个完美的方法: public Size GetDeviceResolution() { Size reso ...
随机推荐
- 研磨JavaScript系列(二):没有类
object就是对象的类型.在JavaScript中不管多么复杂的数据和代码.都可以组织成object形式的对象. 但JavaScript没有"类"概念. 看下面这段JavaScr ...
- HeadFirst HTML&CSS
CH1 认识HTML HTML和CSS是我们用来创建网页的语言:HTML是超文本标记语言(HyperText Markup Language)的缩写,用来建立网页的结构:CSS是层叠样式表(Casca ...
- input获得焦点和失去焦点
总结:placeholder因为在IE7 8 9 浏览器不支持所以没用它效果:当input获取光标的时候如果是默认提示则input内容为空.如果不是则为输入内容 当失去光标的时候, ...
- hibernate映射数据库时@ManyToOne和@OneToMany
第一次用hibernate自动生成表,涉及到多个表的外键,用到了@OneToMany和@ManyToOne注解碰到了几个错误. 首先声明一个基础,@OneToMany和@ManyToOne两个注解没有 ...
- HTTP05--HTML常用知识
一.URL地址含义 需要搞清URL和URI的差别,以及QueryString的含义. 二.GET和POST的区别 详细介绍可参考文章:http://zengrong.net/post/1802.htm ...
- SQL基本操作——JOIN多表联查
基本概念 join :用于根据两个或多个表中的列之间的关系,从这些表中查询数据. join和key:有时为了得到完整的结果,我们需要从两个或更多的表中获取结果.我们就需要执行 join.数据库中的表可 ...
- [Windows Server 2012] PHPWind安全设置
★ 欢迎来到[护卫神·V课堂],网站地址:http://v.huweishen.com★[护卫神·V课堂]是护卫神旗下专业提供服务器教学视频的网站,每周更新视频. ★ 本节我们将带领大家:PHPWin ...
- c#遍历注册表
--来自 https://blog.csdn.net/wenchangren/article/details/751863using System; using Microsoft.Win32; us ...
- 云计算时代,你为什么一定要学Linux?
云计算早已不是什么稀奇的概念,它的火爆让Linux运维工程师这个职业越来越重要.在当今各类云平台提供的系统中,Linux系统几乎毫无争议的独占鳌头,市场份额进一步扩张. 这也让Linux运维工程师职位 ...
- SolidWorks学习笔记(一)
一.草图绘制 1.简单命令 先直线后圆弧,几何约束.尺寸标定 2.圆周阵列 3.几何关系——对称 添加几何约束:圆弧相等.关于竖直中心线的对称 4.捕捉圆心 5.尺寸锁定,有圆弧的,先直后圆 6. 7 ...