周三常见问题解答:Corona SDK 插件

周三常见问题解答:Corona SDK 插件

FAQ 图标周三需要进行另一轮常见问题解答 (FAQ)。今天我们涵盖关于 Corona SDK 插件的常见问题。

1. 插件如何工作?

插件存储在 Corona Labs 的服务器上,并在您进行构建时链接到您的项目中。要将插件添加到您的项目中,您需要执行两件事:1) 将插件名称添加到 build.settings 文件中,以及 2) 将“require”语句添加到您的 main.lua 文件中以加载插件代码。

build.settings 文件。

main.lua 文件。

访问插件的文档以确定所需的提取信息。您可以在这里找到插件文档。

插件的优点在于它们仅在需要时才添加到您的项目中。这通过消除不需要的代码来减小应用程序的大小。

2. 插件是否对所有人可用?

大多数插件仅对 Pro 用户可用,但有一些插件对 Starter 用户可用。插件主文档页面 (index.html) 顶部的“可用性”行指示谁可以使用该插件。您还可以在Corona 插件目录中查看插件的可用性。

3. 我正在尝试在我的项目中使用插件,但它给了我一个错误。怎么回事?

插件错误有许多潜在原因。检查以下内容

  • 如果您是 Starter 用户,请确保您有权使用该插件(检查可用性)。
  • 确保您为该插件使用了正确的 Corona SDK 构建版本。某些插件需要仅从特定构建编号开始可用的功能/错误修复。大多数插件都适用于最新的公开版本,但如果您收到“插件不可用”错误,则应检查这一点。
  • 该插件是否适用于您正在构建的平台?如果该插件仅适用于 Android,则在为 iOS 或 iOS 模拟器构建时会收到构建错误。
  • 仔细检查您的代码,并确保您为该插件使用了正确的调用。所有插件都有示例代码可用,因此最好下载并运行供应商的示例代码,以确保在您遇到问题时其可以正常工作。

大多数插件由第三方供应商编写和支持。查看我们的插件论坛以获取更多信息,并请向供应商和其他用户发布问题。

4. 当我构建我的项目时,我是否总是会获得最新的插件?

系统将下载并使用您正在运行的 Corona SDK 版本的最新插件进行构建。插件与 Corona 构建编号相关联,因此当您打开需要插件的项目时,模拟器会检查您的计算机上是否具有最新的插件模块并下载最新版本。当您进行构建时,构建平台的插件会从我们的服务器链接到您的项目中。这确保您始终使用最新的插件版本。

5. 我可以编写自己的插件吗?

目前,插件由官方合作伙伴或 Corona Labs 提供。在不久的将来,我们计划推出一个完整的插件市场,任何开发人员都可以在其中提交插件进行销售。如果您认真考虑开发插件,请发送电子邮件至 [email protected],并告诉我们您的想法。 

tom
4 条评论
  • aukStudios
    发布于 13:25h,8 月 7 日

    我想问一下关于这篇文章的两个澄清问题。我在这里写,而不是在论坛中,因为我认为这些问题会对阅读博客文章的任何人都有意义。

    1. 您能更详细地阐明一下第 4 点吗?假设我使用 Daily Build 1179“冻结”我的开发,即使新的每日构建版本可用,我也不更新 Corona。我使用的插件版本也会被冻结吗?或者插件的新版本会“追溯”应用吗?我不太清楚,因为“插件与 Corona 构建编号相关联”的声明和“您始终使用最新的插件版本”的声明似乎不一致。这是我担心的问题:如果我使用特定的每日构建冻结开发,我是否会因为插件更新到新版本而引入错误,并且新版本中存在错误或对 API 进行了重大更改,从而面临风险?

    2. 是否有计划发布插件的更改日志(包括 Corona 创建的和第三方创建的),类似于每日构建的更改日志?这将有助于提高开发人员对插件中的错误修复或 API 更改的透明度,并在一定程度上缓解我上面提到的担忧

    总而言之,我很高兴看到插件框架运行良好,并且插件菜单正在增长。谢谢!

    – 安德鲁

  • David MEKERSA
    发布于 10:20h,8 月 8 日

    很高兴看到 Corona 现在越来越开放地使用外部库。
    但是,我看到有一些“不太出名”的合作伙伴,而不是像 Chartboost 这样的插件……

  • David MEKERSA
    发布于 02:54h,2 月 25 日

    对于那些正在寻找如何避免在使用包含 iPhone 插件的 build.settings 为 Android 构建时出错的人

    添加此项
    supportedPlatforms = { iphone = true },

    就在下面
    publisherId = “com.coronalabs”,