Как передать return из js в unity

Программирование на Юнити.

Как передать return из js в unity

Сообщение DygDyg 24 май 2021, 05:55

Делаю проект на webgl (юнити 2021ю1), столкнулся с проблемой, нужно из юнити постучаться в js код на странице и получить ответ.
Нашёл вот это:
https://docs.unity3d.com/ru/2021.1/Manu ... pting.html

Запустить js код вышло из юнити, так же вышло получить стринг в js, но вот как отправить обратно return я так и не понял. Мож кто это делал, подскажет как это реализуется?

Синтаксис:
Используется csharp

    [DllImport("__Internal")]
    private static extern string GET_Json(string str);
    string otvet = GET_Json(URL);
 



Синтаксис:
Используется javascript
mergeInto(LibraryManager.library, {
 GET_Json: function (str) {
    otvet = Pointer_stringify(str);

    return otvet;
 },
})
 
DygDyg
UNец
 
Сообщения: 2
Зарегистрирован: 22 май 2021, 12:08

Re: Как передать return из js в unity

Сообщение DbIMok 24 май 2021, 17:17

как там и написано:
unityInstance.SendMessage(objectName, methodName, value);
Где objectName - это имя объекта в вашей сцене; methodName - это имя метода в скрипте, который в данный момент привязан к этому объекту; значение может быть строкой, числом или может быть пустым.
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Как передать return из js в unity

Сообщение DygDyg 24 май 2021, 19:54

DbIMok писал(а):как там и написано:
unityInstance.SendMessage(objectName, methodName, value);
Где objectName - это имя объекта в вашей сцене; methodName - это имя метода в скрипте, который в данный момент привязан к этому объекту; значение может быть строкой, числом или может быть пустым.

С этим я разобрался, но это по сути запустит другую функцию, а вернуть через ретюрн я так и не понял возможно или нет.
з.ы.
unityInstance.SendMessage(objectName, methodName, value); не работает, даж в .jslib файле в 2021 юнити, хотя в 2020 работало, для работы терь нужно править index.html ,дописав в него myGameInstance = unityInstance;
DygDyg
UNец
 
Сообщения: 2
Зарегистрирован: 22 май 2021, 12:08

Re: Как передать return из js в unity

Сообщение DbIMok 25 май 2021, 12:59

DygDyg писал(а):для работы терь нужно править index.html ,дописав в него

так и об этом же есть в ссылке, в чем вопрос?
DygDyg писал(а):а вернуть через ретюрн я так и не понял возможно или нет.

вернуть куда? это же асинхронно выполняется, игровой цикл не будет ждать
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 8