Version: 6000.3
语言: 中文
从 Unity C# 脚本调用 JavaScript 函数
从 Unity C# 脚本调用 C/C++/C# 函数

从 JavaScript 调用 Unity C# 脚本函数

您可能想从 JavaScript 调用一些 Unity 代码插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。更多信息
请参阅术语表
或浏览器代码。例如,你可能想要一个触发 Unity 行为并需要访问该方法的 JavaScript UI 元素。

从浏览器的 JavaScript 向 Unity C# 脚本发送数据或通知的推荐方法是使用SendMessage调用方法的函数游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
请参阅术语表
在您的 Unity 项目中。

使用 SendMessage 帮助程序函数

SendMessage从 JavaScript 代码调用 Unity 脚本 API 的 Unity 方法。

您可以通过的方法类型有一些限制。只能调用游戏对象的方法,不能调用附加到其他对象的常规 C# 方法。此外,仅使用SendMessage如果满足以下条件之一,则调用方法:

  • 该方法不采用任何参数。
  • 该方法有一个参数,该参数是单个字符串。
  • 该方法有一个参数,该参数是一个数字。

不能使用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 函数

其他资源

从 Unity C# 脚本调用 JavaScript 函数
从 Unity C# 脚本调用 C/C++/C# 函数