Вызов SendMessage:
gameInstance.SendMessage("MessageReceiver", "Test", "This is a message", "myname");
Сообщение об ошибке:
Не удалось вызвать функцию Test класса MessageReceiver
Вызов функции Test с 1 параметром, но для функции требуется 2.
(Имя файла: Строка: 810)
И определение функции:
public void Test(string message, string name) {
// If the call from JavaScript succeeds, an alert will show up on the page
Application.ExternalEval("alert('it works')");
}
Первый параметр «MessageReceiver» - это игровой объект Unity, к которому прикреплен скрипт.
Второй, «Test», - это имя вызываемой функции.
Остальные параметры передаются вызываемой функции, в моем случае «Test».
Как видите, я передаю 2 строковых параметра, что и получает "Test". Почему же тогда появляется сообщение о том, что я вызываю функцию с 1 параметром? Любая помощь будет оценена.
gameInstance
? - person Programmer   schedule 27.04.2017var gameInstance = UnityLoader.instantiate("gameContainer", "Build/WebGL.json");
- person SoKeT   schedule 27.04.2017'
вместо"
?. НапримерgameInstance.SendMessage('MessageReceiver', 'Test', 'This is a message', 'myname');
. Не совсем уверен, что это полезно, но также попробуйте добавить еще один параметр и посмотреть, что произойдет. Попробуйте вызвать функцию вообще без параметра. Проведите эксперимент и сообщите нам, где он ломается. Может, вообще выйдет из строя без параметров .... - person Programmer   schedule 27.04.2017"
, так что это не должно быть проблемой. Вызов работает хорошо, когда у принимающей функции один параметр или нет, но он терпит неудачу, если у него 2 или более параметров, даже если вы передаете больше параметров при вызове. - person SoKeT   schedule 27.04.2017