从 JavaScript 调用 Unity C# 脚本函数
Call functions from your Unity project in your JavaScript plug-in or browser.
阅读时间2 分钟最后更新于 1 个月前
您可能希望从 JavaScript 插件或浏览器代码中调用部分 Unity 代码。例如,您可能需要一个触发 Unity 行为并需要访问该方法的 JavaScript UI 元素。
从浏览器的 JavaScript 向 Unity C# 脚本发送数据或通知的建议方法是使用 函数调用 Unity 项目中游戏对象上的方法。
SendMessage使用 SendMessage helper 函数
使用 从 JavaScript 代码调用 Unity 脚本 API 的 Unity 方法。
SendMessage对于可以传递的方法类型存在一些限制。只能调用游戏对象的方法,而不能调用附加到其他对象的常规 C# 方法。此外,仅当以下条件之一为 true 时,才使用 调用方法:
SendMessage- 该方法不接受任何参数。
- 方法有一个参数,且该参数是单个字符串。
- 方法有一个参数,且该参数是单个数字。
无法使用 调用具有多个参数或具有其他类型参数的方法。
SendMessageSendMessage 代码示例
要从嵌入在项目中的 JavaScript 插件执行调用,可使用以下代码:
MyGameInstance.SendMessage(objectName, methodName, value);
- 是场景中对象的名称。
objectName - 是脚本中方法的名称,当前附加到该对象。
methodName - 可以是字符串、数字,也可以为空。
value
以下代码是另一个示例,显示了可以使用不同参数调用的每种类型的方法。
MyGameInstance.SendMessage('MyGameObject', 'MyFunction');MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 5);MyGameInstance.SendMessage('MyGameObject', 'MyFunction', 'MyString');
要从嵌入页面的全局作用域执行调用,请参阅从全局作用域调用 JavaScript 函数。