您可能希望从 JavaScript 插件或浏览器代码中调用部分 Unity 代码。例如,您可能需要一个触发 Unity 行为并需要访问该方法的 JavaScript__ UI__(即用户界面,User Interface)让用户能够与您的应用程序进行交互。Unity 目前支持三种 UI 系统。更多信息
See in Glossary 元素。
从浏览器的 JavaScript 向 Unity C# 脚本发送数据或通知的建议方法是使用 SendMessage 函数调用 Unity 项目中游戏对象上的方法。
使用 SendMessage 从 JavaScript 代码调用 Unity 脚本 API 的 Unity 方法。
对于可以传递的方法类型存在一些限制。只能调用游戏对象的方法,而不能调用附加到其他对象的常规 C# 方法。此外,仅当以下条件之一为 true 时,才使用 SendMessage 调用方法:
无法使用 SendMessage 调用具有多个参数或具有其他类型参数的方法。
要从嵌入在项目中的 JavaScript 插件执行调用,可使用以下代码:
MyGameInstance.SendMessage(objectName, methodName, value);
objectName 是场景中对象的名称。methodName 是脚本中方法的名称,当前附加到该对象。value 可以是字符串、数字,也可以为空。以下代码是另一个示例,显示了可以使用不同参数调用的每种类型的方法。
MyGameInstance.SendMessage('MyGameObject', 'MyFunction');
MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 5);
MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 'MyString');
要从嵌入页面的全局作用域执行调用,请参阅从全局作用域调用 JavaScript 函数。