Corona SDK 跨设备屏幕分辨率

2024-02-19

这将是那些寻找可能不存在的答案的尴尬问题之一,但这里是。

我一直在使用 Corona 开发一些简单的游戏,虽然该功能似乎在我测试过的大多数物理设备上运行得很好,但一个主要问题是布局。我知道您无法真正完美地为每个设备构建,但我想知道是否有一种通用方法可以使应用程序在尽可能多的屏幕上看起来很好。我有权访问这些设备

  • iPad 1 和 2:4:3 (1.33)
  • iPhone 960 × 640 3:2 (1.5)
  • iPhone 480x320 3:2 (1.5)
  • 银河 Nexus 16:9 (1.77)

据我所知,人们的目标是使用 320x480 作为缩放分辨率,然后让 Corona 升级到正确的设备分辨率(根据需要使用任何 @2x 图像),但这会导致信箱或裁剪,具体取决于 config.lua 比例设置。虽然它确实可以正确缩放,但拥有信箱并不好。

那么我最好不要在配置文件中指定宽度和高度,而是首先使用某种屏幕检查来查找 1.33 / 1.5 / 1.77 的宽高比?当然,就 Corona SDK 的整体意义而言,开发人员会使用某种“典型”设置来启动任何新项目吗?

谢谢


看来我根据 Ansca 网站上的这个论坛帖子找到了一个非常好的解决方案:http://developer.anscamobile.com/forum/2012/03/12/understanding-letterbox-scalling http://developer.anscamobile.com/forum/2012/03/12/understanding-letterbox-scalling

总之,config.lua 应该如下所示:

application = {
    content = {
        width = 320,
        height = 480,
        scale = "letterbox",
        xAlign = "center",
        yAlign = "center",
        imageSuffix = {
        ["@2x"] = 2,
    },
    }
}

为旧设备创建 360*570 的背景图像。 320x480 屏幕会稍微裁剪图像,并且对于较旧的 Android 设备可以很好地缩放。

为 iPad 和 iPhone 视网膜创建 1140*720 的背景图像 - 同样,这些图像将在 Android 上缩放并在 iOS 上稍微裁剪。

例如,您通常会创建一个 320x480 图像并使用以下命令显示它:

local bg = display.newImageRect("bg.png",320x480)
bg.x = display.contentWidth/2
bg.y = display.contentHeight/2

..而是创建一个 360x570 背景并使用以下代码:

local bg = display.newImageRect("bg.png",360x570)
bg.x = display.contentWidth/2
bg.y = display.contentHeight/2

这只是一个摘要,因此请查看链接以获取更详细的说明。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Corona SDK 跨设备屏幕分辨率 的相关文章

  • jquery 移动和 flot 库

    我正在一个小型 jquery 移动框架站点中实现 flot 包含flot的页面 内容div位于辅助页面上 第一次显示浮动页面时 图表呈现得很好 返回到主页并再次前进到浮动页面时 图表不会呈现 内容来自 asp mvc 视图 div div
  • Android CookieManager setCookie 创建多个cookie

    在我的 Android 应用程序中 我有一个网络视图 它从多个域加载 URL 我需要删除特定域中的所有 cookie 我想保留来自其他域的 cookie 但我需要删除一个域中的所有 cookie 我对处理我的请求的所有其他解决方案持开放态度
  • Rails 3 中的移动风格切换,辅助方法与媒体查询

    我正在研究为移动应用设计 Rails 应用程序样式的方法 这个想法很常见 为移动浏览器使用一组样式 为传统浏览器使用另一组样式 据我所知 Rails 中有两种基本方法可以做到这一点 使用辅助方法来检测用户代理 然后执行切换 应用程序控制器
  • 如何从 Android 移动设备键盘获取 keyCode?

    目前 我在移动设备上遇到问题 我有一个输入字段 其中只允许按下某些键 例如仅数字 0 9 它在网络浏览器上运行得非常好 但是当我在 Android 移动设备中打开它时 它失败了 我用过keyup and keypress keyup正在工作
  • 为 Corona SDK 制作游戏图形的可能方法是什么? [关闭]

    Closed 这个问题需要细节或清晰度 help closed questions 目前不接受答案 我一直在使用 Corona SDK 开发一个简单的 iPhone Android 游戏 游戏本身不使用导入的图形 仅使用常规形状 现在 我面
  • 在移动网络浏览器上下拉刷新[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在为网络应用程序提供移动支持 我的应用程序有一个要求 下拉屏幕刷新页面以获取最新更新 我在 iPh
  • 两种长宽比的两种布局(4:3 和 16:9) - 自动更改

    下列的Microsoft 规模指南 http msdn microsoft com en us library windows apps hh780612 aspx有一部分说 设计固定布局时 首先为基线分辨率设计布局 1024x768 和
  • 在 CSS 流布局中自动调整图像大小以模拟 html 表格布局

    我有一个图像 根据屏幕分辨率 它会在 CSS 流布局中下降到看不见的位置 因为我已将其宽度和高度设置为静态值 CSS 流布局中是否有一种方法可以在有人缩小浏览器窗口时自动调整图像大小 我已经在 html table 布局中看到了这一点 并且
  • Phonegap + jQuery Mobile + 股票/折线图

    我试图找到一个在phonegap应用程序中绘制折线 股票图表的解决方案 我尝试过很多库 amcharts JS highcharts 但没有一个能工作 有人可以帮我完成这项任务吗 欢迎任何解决方案 平台 Android iOS 我有同样的问
  • 如何以编程方式精确查找 PPI

    我正在尝试找出 iOS 中的 PPI 每英寸像素 我找不到任何直接的方法来查询它 就像我们查询显示尺寸一样 UIScreen mainScreen bounds 有一个方法 https stackoverflow com a 7922666
  • 使用 jQuery 重定向[重复]

    这个问题在这里已经有答案了 所以我将 jquerymobile 用于我正在创建的应用程序 我有一个链接 如果所有验证都通过 我想通过 但如果失败 我想重定向 在 jquery 中是这样的 由于它是 jquerymobile 因此链接将是同一
  • 如何以编程方式更改屏幕分辨率[重复]

    这个问题在这里已经有答案了 当我的应用程序加载时 系统屏幕分辨率需要更改为1024 768 当其关闭时 它会更改为原始屏幕解决方案 如何实现这一目标 有什么可行的解决办法吗 基本上我正在使用 vb net 无论如何 我欢迎 C 的解决方案
  • 在 Corona sdk 上保存高分?

    我想保存游戏中创建的高分 并且当玩家点击高分按钮时可以在主菜单中看到 有人可以帮助我吗 您可以使用SQLITE https docs coronalabs com api library sqlite3 index html将高分保存到数据
  • 移动 Safari 的 PreventDefault() 不起作用?安卓运行良好

    我想要完成的工作在 Chrome 上完美运行 Android 4 1 但在 iOS 上却很难成功 document on mouseenter touchend id mmlink function e var btn this var h
  • 将 WebGL 应用程序部署为本机 iOS 或 Android 应用程序?

    有谁知道如何将 WebGL 应用程序部署为本机 iOS 或 Android 应用程序 商业中间件是可以接受的 但开放项目会更好 谢谢 作为 Joris 答案的延伸 这似乎是基于内森 德弗里斯的作品 http atnan com blog 2
  • Android 浏览器报告屏幕尺寸错误?

    我正在开发一个移动网站 我遇到了一个有趣的问题 我正在我的台式机以及我的 Motorola Droid Android 2 2 上进行测试 我设置了媒体查询来加载 3 个不同的样式表 320 像素宽 480 像素宽和 640 像素宽 我注意
  • Swiper 幻灯片 - 像 Airbnb Slider 一样显示上一张/下一张幻灯片的结束/开始?

    上面是滑块Airbnb 有没有办法获得类似的效果Swiper http idangero us swiper api 对于第一张幻灯片 左侧有一个空白区域并开始 下一张幻灯片的内容 对于中间幻灯片 有上一张和一张的开始和结束位置 下一张幻灯
  • Jquery 移动弹出窗口在页面调整大小或滚动时在错误位置重新打开

    在 PC 浏览器中 存在弹出窗口在调整窗口大小时改变其位置的问题 我用谷歌搜索了一下 发现 JMF 有一个错误 将positionTo从origin codeSource更改为window 在移动浏览器中 我在页面滚动上遇到同样的问题 弹出
  • 是否包括触摸事件客户端X/Y 滚动?

    我正在尝试获取相对于的触摸坐标viewport来自触摸事件的浏览器 例如触摸启动 我尝试从 clientX Y 属性获取它们 但两者实际上都返回包括滚动在内的值 这是违反规范的 因为它说 clientX Y 应该返回坐标而不滚动 我尝试添加
  • 位置:固定在 iPad 和 iPhone 上不起作用

    I have been struggling with fixed positioning in iPad for a while I know iScroll http cubiq org iscroll and it does not

随机推荐

  • 每2秒更换一次图片

    我积累了一点 所以如果有人有任何想法 那会很有帮助 目前该程序正在编译并运行 但我不知道如何完成它 我正在使用日食 我想做的是 当我启动程序时 每 2 秒更换 4 张不同的图片 所以如果您有任何建议 请不要害羞 这是程序 Here is t
  • MySQL 查询和数据透视表

    我的 MySQL 数据库具有以下列标题 month typeOfWork totalHours 我有兴趣根据工作类型和月份显示结果 例如 所有 typeOfWork 条目将显示在左侧第一列中 并且每个字段将汇总每列指定月份中的特定 type
  • 在 Swift 中使用 Parse 获取 Twitter 个人资料图像

    在 Swift 中没有找到任何关于此的信息 所以我问 如何使用 Parse 从 Twitter 获取已登录用户的个人资料图片 用户已经通过解析内部登录 signupController 登录 var username PFUser curr
  • Dask 数据帧并行任务

    我想从数据帧创建功能 附加列 并且我有以下许多功能的结构 遵循本文档https docs dask org en stable delayed best practices html https docs dask org en stabl
  • 有什么办法可以逃避弹性beanstalk环境变量中的“非法字符”?

    我正在尝试为 Rails 应用程序创建一个新的弹性 beanstalk 环境 并且将现有 RDS 实例的详细信息作为环境变量传递 该 RDS 实例是根据前一个 Elastic beanstalk 实例的快照创建的 但是该实例是由 Elast
  • NightwatchJS .elements 返回字符串而不是对象

    我正在使用 nightwatch 并尝试迭代元素列表 但是 当我没有获取对象或元素时 但我得到了一个字符串数组 CODE browser elements css selector ele function r browser perfor
  • Spring Repository 接口中使用 sort() 和 limit() 进行查询

    我是 Spring Data with MongoDB 的新手 希望在我的 MongoRepository 扩展接口中拥有一个自动生成的查询方法 该方法需要过滤 排序和限制 查询如下所示 created is the field I nee
  • 在 QT 中将配置设置保存到 XML 文件吗?

    我想将配置设置保存到 QT 中的 XML 文件并从那里读取它 在 QT 中执行此操作的最佳方法是什么 任何样品 想法都受到高度赞赏 Thanks 您可以使用以下方式注册您的 XML 文件格式QSettings registerFormat
  • CakePHP:验证消息不显示

    我是 cakePHP 的新手 我按照一些教程制作了一个简单的表单 在这个 html 表单上我使用了验证 现在的问题是验证正在工作 但消息没有显示我希望它显示的内容 我尝试了下面的代码 Model public validate array
  • JS - 如何提交表单 onclick 并发送提交按钮

    我需要通过按钮提交表单 这超出了 JavaSript 表单的范围
  • 使用向上/向下滑动动画显示和隐藏视图

    我有一个LinearLayout我想用一个来显示或隐藏Animation每当我改变布局的可见性时 它就会向上或向下推动布局 我见过一些样品 但没有一个适合我的需要 我已经为动画创建了两个 xml 文件 但当我更改动画的可见性时 我不知道如何
  • addClass 不适用于 iPhone Chrome

    changing navbar background color by scrolling window scroll function if this scrollTop gt 20 tab nav addClass tab scroll
  • 使用 imshow 绘制时间序列

    我试图使标题尽可能清晰 尽管我不确定它是否完全清晰 我有三个系列的数据 随时间变化的事件数量 我想做一个代表三个时间序列的子图 你会发现附件是我能想到的最好的 上一个时间序列明显较短 这就是为什么它在此处不可见的原因 我还添加了相应的代码
  • 通过单击图像显示/隐藏 div

    我希望能够单击图像来显示 隐藏 div 带有文本 我已经对一张图像进行了此操作 但我有多个图像需要切换文本 JavaScript 代码 document ready function slidingDiv hide show hide sh
  • 比较 Realm 对象列表

    我想比较 2 个 Realm 对象列表 看看它们是否相同 这是该物体的样子 class ScheduleRealm Object let scheduleList List
  • 使用 JavaScript 在画布中获取鼠标位置

    我正在研究 jquery 和 html5 canvas 我想做的只是一个简单的 html5 绘图示例 当鼠标移动时 我在鼠标下方绘制红色方块 我的代码很简单 但在获取画布内的鼠标光标位置时遇到问题 现在 我正在使用 x event offs
  • 使用 EPPLUS 缓慢加载 .CSV 文件

    我有大量 csv 文件 需要在应用一些格式后将其转换为 xlsx 包含大约 20 000 行和 7 列的文件需要 12 分钟才能转换 如果文件包含超过 100 000 个 则运行时间 gt 1 小时 不幸的是 这对我来说是不能接受的 代码片
  • 不明白为什么我在 Mongoose Pre save hook 上收到错误警告

    我想使用预保存挂钩对我的密码进行哈希处理 我的密码得到了很好的哈希处理 但为什么我在预保存挂钩的 保存 方法名称上收到错误警告 错误警告 没有重载与此调用匹配 最后一次超载出现以下错误 类型 save 的参数不可分配给类型 RegExp 的
  • 无法使用 Firebase 和 Stripe 正确解析 Json

    错误是 线程 7 无法解析遵循协议 STPCustomerEphemeralKeyProvider 的临时密钥响应 请确保您的后端将临时密钥的未修改 JSON 发送到您的应用程序 有关详细信息 请参阅https stripe com doc
  • Corona SDK 跨设备屏幕分辨率

    这将是那些寻找可能不存在的答案的尴尬问题之一 但这里是 我一直在使用 Corona 开发一些简单的游戏 虽然该功能似乎在我测试过的大多数物理设备上运行得很好 但一个主要问题是布局 我知道您无法真正完美地为每个设备构建 但我想知道是否有一种通