每日构建汇总:Windows 模拟器 + Android + 过渡 2.0 + iOS

每日构建汇总:Windows 模拟器 + Android + 过渡 2.0 + iOS

自上次公开发布以来,我们一直在向每日构建中推送大量更改。如果您是订阅者,您将可以立即访问 iOS、Android 和我们的框架中大量酷炫的新功能。以下是重点:

Corona-Simulator-Windows-Preferences

Windows 模拟器

Windows 用户现在可以享受与 Mac 用户长期以来享有的相同的工作流程。

第一个是一个杀手级功能。每当您更改项目中的文件时,Corona 模拟器可以自动重新启动您的项目。这使您可以对文件进行编辑,并实时查看模拟器的更改!您可以通过“首选项”来控制它,以始终重新启动、提示或永不执行此操作。就个人而言,这是我一直都在使用的东西。

另一个改进是能够在启动 Corona 模拟器时,模拟器打开上次活动的项目的能力。默认情况下它是关闭的,因此如果您想使用它,可以在首选项中找到一个设置(“自动打开上次项目”)来打开它。

Android

我们一直在对 Android 进行大量改进,包括一些零星的项目,例如:

  • native.newVideo(),它(终于)在 Android 上添加了对原生视频对象的支持。
  • 对 xxhdpi 设备的应用图标支持。
  • system.getInfo(“androidDisplayDensityName”),它为这些设备返回“xxhdpi”。
  • 改进了使用“location”、“heading”、“accelerometer”或“gyroscope”事件的应用程序的暂停/恢复稳定性。

我们还对图像和纹理加载进行了一些重要的基础设施改进:

  • display.newText() 现在可以更快地创建文本并使用更少的内存。
  • 文本对象可以更快地更改其文本。
  • JPEG 文件现在加载速度快 2-3 倍,并且使用更少的内存。

如果您需要加载大量大图像,这些改进意义重大。由于这些更改,您在 Dalvik (Java) VM 中不太可能遇到内存不足错误。

[更新] 论坛上报告的另一个好处:在 Android 设备上,TableView 的性能得到了显著提高!

过渡 2.0

我们已经开始对我们的过渡库进行期待已久的升级:

  • 按对象、按标签、按引用或全部暂停/恢复过渡。请参阅 transition.pausetransition.resume
  • 过渡的更多选项,例如标记它们或将它们设置为重复的功能。请参阅 transition.to 获取完整列表。
  • Robert Penner 的全套 缓动函数
  • 一堆用于淡入/淡出、闪烁、移动和缩放的便捷函数。请参阅 transition

我们计划进行更多改进,因此,在此期间,请试用一下,阅读更新的 过渡库指南,并告诉我们您的想法!

iOS

从每日构建 1214 开始,我们已正式切换到使用 iOS 7 作为“基本 SDK”。默认使用 iOS 7 作为基本 SDK,您的应用程序现在将被视为 iOS 7 应用程序。这意味着,当您使用文本字段等原生小部件时,您将在 iOS 7 设备上获得 iOS 7 的外观。

以前,我们默认使用 iOS 6 作为基本 SDK,这意味着当您在 iOS 7 设备上加载应用程序时,该应用程序将被视为 iOS 6 应用程序,直到键盘等 UI 控件的外观和感觉。

现在,我们还尝试确保您的应用程序仍然可以在 iOS 6 设备上正常运行。如果您使用小部件库,您唯一需要做的就是确保您选择了正确的主题。您可以在 iOS 6 主题和 iOS 7 主题之间动态选择。

我越想越觉得,对于小部件库来说,在 iOS 7 设备上运行时自动选择 iOS 7 主题更有意义。如果您同意,请在评论中发表意见。

在更改基本 SDK 之前,我们必须做的一件事是解决由于 iOS 7 中的更改而导致的各种问题。例如,iOS 中的状态栏 API 发生了更改,因此我们必须确保我们仍然可以使用每个 iOS 版本的正确 API 来更改 iOS 6 和 iOS 7 中的状态栏。我们还解决了一些随机的 iOS 7 特定问题,例如文本字段丢失最后一个字符(相同的代码在 iOS 6 上工作正常)。

至少有一个已知问题似乎是与 Game Center 相关的 iOS 7 错误。问题是,成就通知仅显示第一个成就。具体来说,这是交付到 iOS 通知中心的一个;您仍然可以自由地展示您自己的通知。我们还在 Apple 开发人员论坛上看到了关于此问题的其他报告。

最后,如果您想在设备构建期间跳过 PNG 压缩步骤,您可以在您的 build.settings 文件中添加一个 “skipPNGCrush” 标志:

walter
14 条评论
  • Daniel Williams
    发布于 11:29h,9 月 26 日

    太棒了!

  • develephant
    发布于 11:49h,9 月 26 日

    太棒了!谢谢。

  • Alex
    发布于 13:34h,9 月 26 日

    关于新的过渡库的几个问题:
    – 您是否可以设置一个参数,使对象在返回时“反转”(这意味着它将向后播放)?
    – 是否可以告诉库在路径末尾将 xScale 更改为 -1(例如,对象在返回到起始点时会更改“方向”)?

    谢谢,
    Alex

    • Brent Sorrentino
      发布于 16:23h,9 月 30 日

      嗨,Alex,
      关于您的两点:

      1) 我认为您要找的方法可能是“continuousLoop”缓动函数。它可以将对象恢复到初始状态。但是,插值将是线性的,因此如果您需要反转另一个缓动方法上的补间,例如“inCirc”,然后再反转到“outCirc”,则需要为此排队两个过渡。所有这些都在新的缓动文档中详细介绍:https://docs.solar2d.cn/daily/api/library/easing/index.html

      2) 我认为您可以使用 onComplete 侦听器来完成此操作,对吗? 也许我没有完全理解您的确切用例,但是……如果不是,请告诉我。

      希望这有帮助,
      Brent

  • Josep Alemany
    发布于 14:53, 9 月 26 日

    我迫不及待地想测试一些新功能...做得好!!

  • Dave
    发布于 15:58, 9 月 26 日

    是!!!! 不再需要 ctrl+R 来重新加载模拟器了 🙂

  • Lerg
    发布于 18:12, 9 月 28 日

    太棒了!

    我想建议在过渡 2.0 中添加一个有用的功能 - 能够制作来回缓动。
    您只有 continiousLoop 缓动,但我建议您要么在 transition.to 函数调用中添加 backAndForth 参数(就像在我的计时器和过渡库中一样),要么制作额外的缓动,例如 easing.outExpoBackAndForth (outExpo2),或者提供一个类似于这样的缓动函数包装器

    http://pastebin.com/Ky9ystY2

    将其另存为 main.lua 并查看 - 这真的很有趣。一个带一次过渡调用的弹跳方块。

    • Rob Miracle
      发布于 15:54, 9 月 30 日

      嗨,Lerg。 我认为序列背后的想法是您可以设置一个向前过渡,然后切换到向后循环的向后过渡。

      • Lerg
        发布于 18:16, 9 月 30 日

        但是您不同意使用该包装函数会容易得多吗?
        只有一行代码,没有任何序列。

        transition.to(square, {time = 1000, y = 30, transition = backAndForthGenerator(easing.outExpo), iterations = 10})

  • Jacques
    发布于 00:37, 9 月 30 日

    在你们加入 transitions2.0 之后,在某些简单的过渡完成后,我一直收到错误,而这些过渡以前根本没有问题(之前使用的是 .1202,最近刚安装了 1217。 令人恼火的是,我不得不一直安装较旧的版本,直到回到 .1206 构建版本错误才停止发生,所以很明显这与 transition2.0 的添加有关。 看起来你们的新过渡肯定存在一些定时/变量问题,因为该错误没有道理,因为回溯指向一个空的 lua 行,甚至没有任何代码! 此外,它所指的字段更加奇怪,因为没有与错误相关的字段。

    运行时错误?:0: 尝试索引字段 '?' (一个 nil 值)
    堆栈回溯

    请告知,因为你们的 transition2.0 确实有一些有趣的功能,但至少要让它正常工作。

    • Rob Miracle
      发布于 16:06, 9 月 30 日

      嗨,Jacques。

      我们已经意识到这些错误,并且工程部正在努力解决这些问题。 如果您想在论坛中关注讨论,这里有一个主题

      http://forums.coronalabs.com/topic/39518-transitioneasing-20/

      • Jacques
        发布于 03:41, 10 月 01 日

        好的,太好了,我担心是我的代码,并且一直在反复检查一切。 感谢提醒 😉

  • Lerg
    发布于 18:18, 9 月 30 日

    另外值得注意的是,缓动函数的值范围已更改为 [0, 1]。 以前缓动函数返回绝对值,现在只返回相对值。

    如果您有任何自定义缓动 - 您可能需要调整它们。

  • Paolo
    发布于 06:52, 10 月 01 日

    感谢 transition 2.0。 我肯定会使用过渡标记系统来跟踪我的补间(非常需要)。 但是,仍然有一些“运行时错误?:0: 尝试索引字段 ‘?’ (一个 nil 值) ”,如上所述。 希望不会花费太长时间...干得好