博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
air开发中的requestedDisplayResolution 扫盲
阅读量:5111 次
发布时间:2019-06-13

本文共 1822 字,大约阅读时间需要 6 分钟。

app.xml里面requestedDisplayResolution 取值可以为high/standard, 如果为high表示设备跟ios声明它需要使用高清屏(其实就是需要最大分辨率)

这里我猜测了一下ios对这个参数的解释,伪代码如下:

if ( device.hasHighResolutionDisplay) {
//设备是否具备高清屏 if (app.requestedDisplayResolution == "high" ) {
app.stageWidth = device.maxResolution.x; app.stageHeight = device.maxResolution.y; device.renderAppScale(1); // 以scale=1的正常尺寸渲染整个APP } else {
app.stageWidth = device.maxResolution.x/2; app.stageHeight = device.maxResolution.y/2; device.renderAppScale(2); // 以scale=2的放大尺寸渲染整个APP, 实际上就是4个像素点渲染原APP一个像素点 } } else {
app.stageWidth = device.maxResolution.x; app.stageHeight = device.maxResolution.y; device.renderAppScale(1); // 以scale=1的正常尺寸渲染整个APP }

下面是目前的苹果设备在不同的requestedDisplayResolution下的屏幕显示情况

stageWidth*stageHeight

设备       requestedDisplayResolution=high     requestedDisplayResolution=standard

iphone4/4s        640*960                                               320*480

iphone5             640*1136                                            320*480

ipad1/2/mini      768*1024                                             768*1024

ipad3/4              1536*2048                                           768*1024

如果我们是以640*960的尺寸为标准开发的IOS程序,设置requestedDisplayResolution为high, 为了让我们的程序在所有IOS设备上都能正常显示,还需要:

1. 假设我们没有使用starling, , 假设我们的程序所有的UI都放置在某个根节点root下,那么,在iphone 3gs下设置root.scaleX = scaleY = 0.5, 在ipad3/4上设置root.scaleX = root.scaleY = 2, (当然,ipad上会有黑边,假设这个可以忍受,或者可以继续缩放到只有一边黑边)。

2. 假设我们使用了starling, 那么在starling构造函数里,先传入640*960的viewport, 然后在iphone 3GS里额外设置 viewPort = new Rectangle(0, 0, 320, 480), 在ipad 3/4上额外设置 viewPort=new Rectangle(0,0, 1536, 2048).

在ipad3/4上做了2倍的放大, 在方案1里会极大影响air的渲染性能

那么我们可以采取另外一套方法, 在ipad3/ipad4里设置requestedDisplayResolution=standard, 这样就不需要额外做缩放了, 而ios在Ipad3/4上会自动的放大整个程序为2倍大小。

这样带来的另外一个问题是, 我们想发布一次ipa就能兼容所有的设备, 幸好 adobe air 3.6最新beta版本带来了这个属性, 只需要加入这个参数:

 
high

那么在Ipad3, ipad4上将默认使用requestedDisplayResolution =standard

转载于:https://www.cnblogs.com/zhepama/p/3459528.html

你可能感兴趣的文章
好玩的-记最近玩的几个经典ipad ios游戏
查看>>
PyQt5--EventSender
查看>>
Sql Server 中由数字转换为指定长度的字符串
查看>>
Java 多态 虚方法
查看>>
Unity之fragment shader中如何获得视口空间中的坐标
查看>>
万能的SQLHelper帮助类
查看>>
tmux的简单快捷键
查看>>
[Swift]LeetCode922.按奇偶排序数组 II | Sort Array By Parity II
查看>>
Html5 离线页面缓存
查看>>
《绿色·精简·性感·迷你版》易语言,小到不可想象
查看>>
Android打包key密码丢失找回
查看>>
VC6.0调试技巧(一)(转)
查看>>
类库与框架,强类型与弱类型的闲聊
查看>>
webView添加头视图
查看>>
php match_model的简单使用
查看>>
在NT中直接访问物理内存
查看>>
Intel HEX 文件格式
查看>>
SIP服务器性能测试工具SIPp使用指导(转)
查看>>
回调没用,加上iframe提交表单
查看>>
(安卓)一般安卓开始界面 Loding 跳转 实例 ---亲测!
查看>>