您可能希望从 JavaScript 插件在 Unity 外部创建的用于在 Unity 中创建功能的一组代码。在 Unity 中可以使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。 更多信息
请参阅 词汇表或浏览器代码调用部分 Unity 代码。例如,您可能需要 JavaScript UI(用户界面) 允许用户与应用程序交互。Unity 目前支持三个 UI 系统。 更多信息
请参阅 词汇表元素,而该元素会触发 Unity 行为并需要访问该方法。
从浏览器的 JavaScript 向 Unity C# 脚本发送数据或通知的推荐方法是:使用 SendMessage
函数调用 Unity 项目中 游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、摄像机、路径点等。游戏对象的功能由附加到其上的组件定义。 更多信息
请参阅 词汇表上的方法。
在 JavaScript 代码中使用 SendMessage
方法调用 Unity 脚本 API 的 Unity 方法。
对可以传递的方法类型有一些限制。您只能调用 GameObject 方法,而不能调用附加到其他对象的通用 C# 方法。此外,仅当满足以下条件之一时才使用 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 函数。