Unity 6.3
0 онлайн 94 гостей 3 в системе
Вход
Разработка платформы Шаг 299 из 387

Вызов Unity C# скриптовых функций из JavaScript

Возможно, вам захочется вызвать код Unity из вашего плагина JavaScript или кода браузера. Например, вам может понадобиться элемент JavaScript UI, который вызывает поведение Unity и требует доступа к этому методу.

Рекомендуемый способ отправки данных или уведомлений в скрипт Unity C# из JavaScript браузера — это использование функции SendMessage для вызова методов на GameObjects в вашем проекте Unity.

Используйте функцию SendMessage

Используйте SendMessage для вызова метода Unity скриптового Unity API из кода JavaScript.

Существуют некоторые ограничения на то, какие методы вы можете передавать. Вы можете вызывать только методы GameObject, а не общие 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 из глобальной области.

Дополнительные ресурсы