这是我们处理 Construct 3 和 Construct Animate 公开错误报告提交的地方。
不幸的是,许多用户提交的错误是无用的,因为它们没有包含足够的信息供我们对其采取任何措施。我们的政策是在不进行调查的情况下关闭这些错误。请遵循这些准则,以避免您的错误被关闭,并帮助确保我们可以修复您报告的错误。
大多数错误实际上并不明显,即使它们对您来说看起来很明显。通常,问题实际上只发生在您碰巧遇到的一组非常特定的情况下。这些指南旨在确保我们能够弄清楚发生了什么。因此,请永远不要跳过指南的任何部分,无论您认为问题有多明显,或者您之前提交了多少问题 - 我们每次都确实需要所有这些信息,跳过任何细节可能会让事情变得更加困难让我们帮助您。
许多错误报告实际上只是事件中的错误,或者是对功能的误解。请仔细检查您的活动和文档。
为了避免报告我们已经修复的错误,请验证问题是否发生在最新版本的 Construct 中,包括最新的测试版。
如果某些东西曾经可以工作,但被更新意外破坏,那么告诉我们它破坏的是哪个版本是非常有用的。这就是错误报告模板的“第一个受影响的版本”字段的用途。例如,如果某些内容在 r300 之前的所有版本中都有效,但在 r301 以后的所有版本中都被破坏,那么请输入 r301 作为第一个受影响的版本。 (请不要只输入您碰巧测试的版本,因为这会产生误导,并且可能会花费更长的时间来处理问题。)
Bug 提交页面预先填充了一个模板。不要删除它 -我们需要所有这些信息才能为您提供帮助。请提供尽可能多的所需信息,包括每个报告中的系统详细信息或崩溃报告信息。每次都提供完整的信息 - 不要引用其他问题、其他地方的论坛帖子等,因此报告本身包含所有必要的信息。
请在您创建的每一期中仅描述一个问题。同时拥有两个单独的描述是非常令人困惑的,通常意味着您跳过了其中一个的一些重要信息。此外,我们还有有用的工具来分配和跟踪问题,但这些工具仅在问题涉及单个问题时才有效。
请尽可能包含一个演示该问题的最小项目。如果您不包含项目,即使您提供了书面描述或认为问题很明显,您的报告很可能会在没有调查的情况下被关闭。这是因为如果没有项目文件,我们几乎总是发现一切工作正常。通常,您的项目的某些特定因素实际上导致了问题,如果没有它,就不可能提供帮助。因此需要附加一个项目。
项目应该尽可能小,使用尽可能少的事件和对象来演示问题。创建一个新的空项目并尝试从头开始重现问题。或者备份您的项目并尽可能删除,直到问题得到解决。请继续,尽可能删除任何不相关的对象、事件、布局等。
不要在您的项目中使用第三方插件。不幸的是,我们无法为第三方代码提供支持。第三方插件中的错误应报告给其开发人员。我们要求删除第三方插件以证明它们不会造成问题。
请保存单个文件项目。它们的文件扩展名为.c3p
您可以通过选择Menu -> Project -> Save As -> Download a copy来保存这样的项目。
.c3p 文件可以在 Dropbox、OneDrive 或 Google Drive 等免费文件托管服务上公开共享。或者,如果将文件添加到 zip,或将 .c3p 扩展名重命名为 .zip,则可以将其附加到 GitHub 问题。 (GitHub 不会接受以 .c3p 结尾的文件。此外,如果它实际上是 .c3p 文件,Construct 仍然可以直接从 zip 打开项目。)
如果您选择不同的文件主机,并且它向我们发送广告垃圾邮件,要求我们注册或输入信息,或者在我们查看它时过期,我们将不会调查该错误。我们推荐前面提到的三种服务,因为它们效果很好。
我们处理了数千份报告,其中许多都是难题。为了帮助我们快速有效地处理您的问题,最好提供一个演示该问题的项目,该项目:
用户通常会附上带有错误报告的视频。这并不总是像您想象的那么有用:我们无法调试视频来弄清楚发生了什么。附加项目要有用得多。此外,具有简短且编写良好的重现步骤的报告通常可以更快地处理,考虑到我们要处理数千份报告,这一点很重要。
一般来说,除非我们要求,否则您可以跳过附加视频。如果我们在从书面步骤重现问题时遇到困难,它们会很有帮助,因为我们可以准确地观察您在做什么。如果您不介意节省时间,可以附上视频和书面步骤以供复制,以防万一我们需要。
使用像 Construct 这样的复杂软件,可以创建故意模糊的项目,或故意模糊的步骤序列,这可能会产生意外的结果甚至崩溃。但是,如果没有人以正常方式使用 Construct 遇到此类问题,那么它们与 Construct 的实际使用没有任何关系。我们致力于开发客户可以信赖的强大、优质的软件。然而我们发现解决这些问题基本上是浪费时间,而且实际上会降低构建的质量,因为每次更改都有导致其他问题的风险。因此,虽然理论上“以防万一”报告此类问题是有用的,但实际上却并非如此。我们是一个资源有限的小团队,我们希望将有限的时间集中在支持人们使用 Construct 实现实际目的,而不是处理与客户无关的困难且耗时的问题。因此,如果我们认为报告涉及故意寻找问题,或者不代表 Construct 的实际使用,有时我们可能会关闭问题而不修复它们。
我们的员工随时为您提供帮助。我们拥有经验丰富的工程师,他们处理过数千个错误报告。绝大多数记者都很乐于助人,并且很高兴与我们合作。但是,如果您在与员工打交道时不合作或不必要地好斗,我们将关闭您的报告并停止调查。如果有人按照准则提交报告,我们将恢复对该报告的调查。有关更多详细信息,请参阅论坛和社区指南,该指南也适用于错误报告。
以下是错误报告过程中常见问题或疑虑的解答。这些确实经常被问到,所以值得一看。
您需要遵循本文中的所有准则,以便开发人员实际上有合理的机会诊断并修复您尝试报告的问题。我们收到了数千份错误报告,处理它们可能非常耗时。为了节省开发人员的时间,以便他们可以花更多的时间编写新的、令人兴奋的功能,并节省您的时间,这样您就不会编写对开发人员无用的无用报告,这些指南是强制性的,并且报告不遵循它们未经调查将被关闭。
请不要生气;我们处理大量的错误报告,我们的目标是尽可能有效地处理它们。我们希望确保您养成提交有用、详细、可操作的错误报告的习惯,我们可以快速诊断和修复这些错误报告。这对您也有好处,因为您更有可能更快地修复错误。因此,您学会在每个错误报告中尽可能遵循指南,这符合每个人的利益。我们可能会毫不客气地说,未经调查就关闭了,但这可能是那天的几个之一,我们想强调您需要如何帮助我们帮助您。
请不要回复已关闭的错误报告。相反,请提交一份新报告,并确保遵循所有准则并提供任何缺失的信息。
不,我们不想要你的整个项目。将您的整个项目发送给我们通常实际上没有帮助。该指南要求一个最小的项目,其中包含尽可能少的事件和对象。最好能够通过创建一个新的空项目并添加最少的事件和对象来显示正在发生的情况来演示问题。这是开发人员诊断问题的唯一实用方法。具有数百甚至数千个事件或对象的项目对于测试来说是一场噩梦,因为引擎中发生了太多事情,并且几乎不可能隔离哪个部分可能出现问题。此外,很大一部分错误报告只是事件中的错误,而不是真正的错误。花费数小时甚至数天的时间调试一个大型项目,却发现它是事件中的一个错误,这对于我们的开发人员来说成本太高,尤其是当我们是一个小团队时。每个人都希望开发人员重新开始编写新的、令人兴奋的功能!一般来说,如果您无法在新的空项目中重现该问题,则这是一个强烈的信号,这实际上只是您的事件中的一个错误,因此这是从错误报告中过滤掉错误的好方法。
在您的最小项目中,您还可以轻松使用占位符图形而不是实际的艺术品。这也消除了对版权或必须签署保密协议的任何担忧。因此,这对您和开发人员都更好。
这是一个强烈的迹象,很可能是您自己的事件中出现了错误。首先,仔细检查您的事件并确保它们正常运行。其次,开始隔离问题。备份您的项目并开始删除其中的大部分内容。在某些时候,问题可能会消失,这表明原因在于您删除的最后一个内容。在这种情况下,请返回并开始移除较小的部件,依此类推,直到您能够准确识别导致该问题的原因。如果它看起来像一个错误,请以此为起点在新的空项目中演示该错误。如果在删除内容时问题没有消失,那么您应该能够删除所有内容,直到最小的项目,没有不必要的事件或对象。如果您确定问题是一个错误,而不是对事件的错误或误解,那么您可以在错误报告中提交该项目。
我们确实会查看每一份报告,但开发人员和发布时间表意味着我们可能无法立即处理它。请允许几周时间进行调查。如果您在等待,当开发人员确实抽出时间来解决问题时,您可以通过仔细查看这些指南并提供尽可能多的有关问题的有用信息来提高解决问题的机会。如果您遗漏了任何内容,您可能会等待几周才能得到答复,只是询问遗漏的信息,然后您又要再次等待。
有些错误可能实际上是浏览器或平台中的错误,而不是 Construct 的问题。这包括浏览器本身崩溃或出现“悲伤选项卡”的任何问题(选项卡将其内容替换为一条消息,表示遇到问题或崩溃,您必须重新加载它) - Construct 的代码通常不会导致此问题,只会导致问题与浏览器本身。您可能会被要求直接向浏览器制造商报告问题。以下是报告浏览器问题的链接:
Chromium(Android 上的 Google Chrome、Microsoft Edge、NW.js、Cordova):crbug.com
Safari(Mac、iOS、iOS 上的 Cordova):WebKit Bugzilla
火狐:Mozilla Bugzilla
NW.js(仅在 NW.js 中发生的问题,而不是其他基于 Chromium 的平台中发生的问题):NW.js 问题
感谢您阅读我们的指南!您可以通过访问问题部分开始。