C3运行时

1,077次阅读
没有评论

共计 1898 个字符,预计需要花费 5 分钟才能阅读完成。

C3 运行时

当 Construct 3 最初发布时,它使用了与 Construct 2 相同的运行时(游戏引擎)。一段时间后,专门为 Construct 3 开发了一个全新的运行时。它从头开始重写,提供了显著提升的性能和一系列主要的新功能。有关其开发期间发布的公告,请参阅 C3 运行时博客文章以获取更多信息。旧的运行时被称为 C2 运行时,新的运行时被称为 C3 运行时。

一段时间内,C3 同时支持两种运行时,但自 2021 年 7 月 C2 退役以来,现在只支持新的 C3 运行时。

兼容性

C3 运行时旨在尽可能接近 100% 兼容 C2 运行时。大多数情况下,更改运行时后项目应该继续以相同的方式工作。然而,有些情况下会进行一些有意的改变,通常是为了更好地组织功能或改进有问题的功能设计。以下是 C2 和 C3 运行时之间所有兼容性差异的综合列表。

一些移动或移除的功能仍然可以由切换到 C3 运行时的现有项目使用。这只是出于向后兼容性考虑。它们可能不再工作,或者将来可能停止工作。我们建议一旦你切换到 C3 运行时,就从你的项目中删除这些功能。

浏览器 / 操作系统兼容性

C2 运行时支持较旧的浏览器和平台,其中一些已经不再广泛使用。C3 运行时设计有更现代的功能,并且要求更高。主要的实际应用差异是:

  • Internet Explorer:C2 运行时支持 IE9-11。C3 运行时根本不支持 Internet Explorer,但支持 Microsoft 用 Microsoft Edge 替换 IE 的浏览器。注意,Microsoft 已于 2022 年 6 月正式退役 Internet Explorer。

  • iOS / Safari:C2 运行时支持 iOS / Safari 9+,而 C3 运行时要求 iOS / Safari 12+ 才能完全支持。然而,这应该涵盖了仍在使用的绝大多数所有 iOS 设备。

所有其他平台,如 Chrome 和 Firefox 浏览器,都使用自动更新软件,因此应该与 C3 运行时兼容。

第三方插件

主要的兼容性问题可能是第三方插件的可用性。如果你的项目使用了一个在 C3 运行时中不可用的第三方插件,你将无法导入使用它的 C2 项目。请与插件开发者联系,看看是否有支持 C3 的更新,或者你可以用 C3 中可用的其他新功能替换插件。

动态创建对象

在 C2 运行时中,创建一个未放置在布局上的对象(因此未加载到内存中)会立即加载对象的图像,这可能会“卡顿”游戏(在加载完成时导致短暂的暂停)。在 C3 运行时中,在这种情况下游戏会继续运行,并且图像会并行加载。这提供了更好的加载性能,避免了游戏的卡顿。然而,对象可能在图像仍在加载时存在很短的时间。在此期间,对象不会被绘制,就好像它被设置为不可见一样。在某些情况下,这可能会导致明显的闪烁,特别是如果对象旨在覆盖其他内容。解决方法是将对象放置在布局中,并在布局启动时销毁它(如果不需要的话)。这确保 Construct 在加载布局时加载其图像,避免在创建时的任何延迟。

系统对象更改

在 C3 运行时中,对系统对象和系统表达式进行了以下更改:

  • 已移除 WindowWidth 和 WindowHeight 表达式。这些命名令人困惑,但如果你需要相同的值,请使用 Platform Info 对象的 CanvasDeviceWidth 和 CanvasDeviceHeight 表达式。通常最好使用新的 ViewportWidth 和 ViewportHeight 系统表达式,因为它们返回的是布局像素而不是设备(物理显示)像素的大小。
  • Is on mobile 和 Is on platform 条件已移至 Platform Info 对象。
  • Renderer 和 RendererDetail 表达式已移至 Platform Info 对象。
  • 已移除 rgb 表达式。改为使用新的 rgbEx 或 rgba 表达式。注意 rgb 使用 0 -255 范围的值,但 rgbEx 和 rgba 使用 0 -100 范围的值,并支持具有更好精度的更宽范围。

用户媒体对象更改

在 C3 运行时中,用户媒体对象的语音合成、语音识别和画布录制功能已移至单独的插件(语音合成、语音识别和视频录像机)。使用这些用户媒体功能的现有项目可以在 C3 中使用,但在你用新插件替换它们之前,这些功能将不再工作。

还要注意,Snapshot 操作不再立即提供快照:你必须使用 On snapshot ready 触发器来知道 SnapshotURL 何时可用。

浏览器对象更改

在 C3 运行时中,对浏览器对象进行了以下更改:

  • 由于缺乏浏览器支持,已移除电池功能。
  • 网络信息和各种显示相关的表达式已移至 Platform Info 对象。
  • On suspended 和 On resumed 已移至 System 对象。Page is visible 条件已被 Is suspended 系统条件替换(进行反向检查)。
正文完
 0
评论(没有评论)