版本:Unity 6 (6000.0)
语言:英语
Unity Web 构建中的 JavaScript 接口
Emscripten 的 Web 原生插件

替换已弃用的浏览器交互代码

涉及 Web 浏览器脚本交互的一些代码已弃用,并改用替代代码。

如果代码包含任何已弃用的代码,需要使用替代代码更新代码,以防止意外行为或代码损坏。

已弃用代码简明参考

以下代码已弃用,需要用替代代码替换。

已弃用代码 替代代码
dynCall() makeDynCall()
Pointer_stringify() UTF8ToString()
unity.Instance() CreateUnityInstance()
gameInstance unityInstance

将 dynCall 更改为 makeDynCall

dynCall 函数已弃用。如果有任何代码使用了 dynCall,请用 makeDynCall 替换。不论是否启用了 WebAssembly.Table,都要进行此更改。

例如,更改为

dynCall('vii', callback, [1, 2])

{{{ makeDynCall('vii', 'callback') }}}(1, 2)

将 Pointer_stringify() 更改为 UTF8ToString

Pointer_stringify() 函数已弃用。如果代码中包含对 Pointer_stringify() 的调用,请用 UTF8ToString() 替换这些调用。

例如,更改为

var stringMessage = Pointer_stringify(message);

var stringMessage = UTF8ToString(message);

将 unity.Instance 更改为 CreateUnityInstance

unity.Instance 已弃用。如果代码使用了 unity.Instance,请改为使用 CreateUnityInstance

例如,更改为

var MyGameInstance = null;
  script.onload = () => {
    unity.Instance(canvas, config, (progress) => { /*...*/ }).then((unityInstance) => {

var MyGameInstance = null;
  script.onload = () => {
    createUnityInstance(canvas, config, (progress) => { /*...*/ }).then((unityInstance) => {

将 gameInstance 更改为 unityInstance

gameInstance 属性已弃用。如果代码使用了 gameInstance,请改为使用 unityInstance

例如,更改为

MyGameInstance = gameInstance;

MyGameInstance = unityInstance;

其他资源

Unity Web 构建中的 JavaScript 接口
Emscripten 的 Web 原生插件