Нужно передать значения переменных из C# в JS

Форум для самых маленьких, а так же тех, кому недосуг читать справку самостоятельно.

Нужно передать значения переменных из C# в JS

Сообщение Good1101 17 ноя 2011, 14:35

Имеется 2 скрипта (c#) и (js) из скрипта (c#) нужно вызвать метод в скрипте (js) и передать ему значение нескольких переменных. (c#) скрипт это гейм меню а (js) передает значения в БД которая находится на сайте. Нужно просто как то передать значения переменных из меню (c#) в скрипт (js) . Возможно ли это? Если да то можно привести простейший пример, или ссылку где это уже рассматривалось.
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Нужно передать значения переменных из C# в JS

Сообщение DbIMok 17 ноя 2011, 14:53

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

Re: Нужно передать значения переменных из C# в JS

Сообщение Good1101 17 ноя 2011, 16:02

В проекте, cложность в том что я не знаю как передать значения переменных из C# в JS или вызвать метод.
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Нужно передать значения переменных из C# в JS

Сообщение DbIMok 17 ноя 2011, 16:31

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

Re: Нужно передать значения переменных из C# в JS

Сообщение Good1101 17 ноя 2011, 20:27

Перепробовал все что мог ничего невышло :( Подскажить плиз на конкретном примере ниже как мне вызвать функцию.
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;

public class menu2 : MonoBehaviour
{

   


    void OnGUI()
    {

            //вот здесь нужно вызвать функцию в скрипте JS
            if (GUI.Button(new Rect(100, 130, 40, 20), "Save"))
            {

            }

           
     }

}
 

Синтаксис:
Используется javascript
var addurl = "http://asdff.ru/jvjvj.php";



var playername = "Player 1";



var strength = 0;



var accuracy = 0;



var vitality = 0;

// вот эту функцию
 function adddannie(playername, strength, accuracy, vitality){


     Debug.Log(playername);

   


}

 
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Нужно передать значения переменных из C# в JS

Сообщение DbIMok 17 ноя 2011, 20:42

просто вызвать функцию из скрипта нельзя. это класс, а обращаться можно только к экземпляру (объекту, инстанцу), если это не функция класса (static). т.е. в вашем случае либо
Синтаксис:
Используется javascript
static var playername = "Player 1";
static function adddannie(playername, strength, accuracy, vitality){
     Debug.Log(playername);
}

и
Синтаксис:
Используется csharp
if (GUI.Button(new Rect(100, 130, 40, 20), "Save"))
            {
                        ScriptNameJS.adddannie("Test",0,0,0);
            }

либо в JS все как есть, но в C#
Синтаксис:
Используется csharp
if (GUI.Button(new Rect(100, 130, 40, 20), "Save"))
            {
                        ScriptNameJS js = gameObject.GetComponent<ScriptNameJS>();
                        if (js == null) js = gameObject.AddComponent<ScriptNameJS>();
                        js.adddannie("Test",0,0,0);
            }
правильный вопрос - половина ответа. учитесь формулировать вопросы понятно.
Новости > _Telegram чат @unity3d_ru (11.6k/4.8k online) > _Telegram канал @unity_news (4.8k подписчиков) > Телеграм тема > "Спасибо"
Аватара пользователя
DbIMok
Адепт
 
Сообщения: 6372
Зарегистрирован: 31 июл 2009, 14:05

Re: Нужно передать значения переменных из C# в JS

Сообщение Good1101 17 ноя 2011, 21:24

Синтаксис:
Используется csharp
 ScriptNameJS js = gameObject.GetComponent<ScriptNameJS>();
  if (js == null) js = gameObject.AddComponent<ScriptNameJS>();
 



Пишет что ScriptNameJS не существует в текущем контексте.
Попытка получить ссылку на него через GameObject.Find("ScriptNameJS"); тоже не увенчалась успехом.
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Нужно передать значения переменных из C# в JS

Сообщение seaman 17 ноя 2011, 21:37

если проблемы с областями видимости, смотрите порядок компиляции в справке.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Нужно передать значения переменных из C# в JS

Сообщение DbIMok 17 ноя 2011, 21:42

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

Re: Нужно передать значения переменных из C# в JS

Сообщение Good1101 17 ноя 2011, 21:44

DbIMok писал(а):надеюсь вместо ScriptNameJS вы подставляете имя JS скрипта?


да
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Нужно передать значения переменных из C# в JS

Сообщение Good1101 17 ноя 2011, 21:47

seaman писал(а):
если проблемы с областями видимости, смотрите порядок компиляции в справке.


а где найти эту самую справку? :)
Как тут стрелять?
Аватара пользователя
Good1101
Адепт
 
Сообщения: 1100
Зарегистрирован: 17 ноя 2011, 14:07
  • ICQ

Re: Нужно передать значения переменных из C# в JS

Сообщение Almi 17 ноя 2011, 21:58

Господа, я тоже заинтересовался этой темой. Попробывал предложенные скрипты. Результат такой же. Юнити ругаеться что невидит "The name `q1' does not exist in the current context" q1 это имя JS скрипта. Делал все в новом проекте и на чистой сцене где создан только один ГО. Я так понимаю что проблемы в зоне видимости. В справочке поискал, что то не нашел (плохо искал наверно). Просьба торнуть носом в ссылочку на конкретную страницу справки посвещенную этой тематике. В будущем однозначно придеться с этим сталкиваться и хотелось бы сейчас разобраться.
Almi
UNец
 
Сообщения: 16
Зарегистрирован: 02 дек 2010, 22:00

Re: Нужно передать значения переменных из C# в JS

Сообщение DbIMok 17 ноя 2011, 22:00

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

Re: Нужно передать значения переменных из C# в JS

Сообщение seaman 17 ноя 2011, 22:06

а где найти эту самую справку?

1-й вариант.
Вы знаете как "Справка" по английски? Вы видели интерфейс Юнити? Если оба ответа "Да", тогда отчего вопрос такой?
ЗЫ: В меню Юнити есть такое словечко "Help"!
2-й вариант.
Есть такая штука - поисковики. Они в момент находят то, что Вам надо:
google
Первая и пятая ссылки будут интересны.
seaman
Адепт
 
Сообщения: 8352
Зарегистрирован: 24 янв 2011, 12:32
Откуда: Самара

Re: Нужно передать значения переменных из C# в JS

Сообщение Almi 17 ноя 2011, 22:12

Спасибо, DbIMok. Почитал -> понял -> сделал -> работает. Полезная информация, запомню обязательно.

Уважаемый, моряк. Зачем же вы так человека отшиваете. Я вот например и в справке поискал, и в гугле, прежде чем бить челом и просить торнуть носом в ссылку. Но к сожаление видимо не смог сделать правильный запрос (знания английского храмает). И уже после этого задал вопрос. Все мы люди взрослые и выглядеть дураком никто не хочет. Вот и товарищ Гуд, судя по времени его постов, уже давно бьется над этим вопросом. На то сообщество и существует, чтобы попросить помощи и получить ее. А не для того, чтобы получить пинка под пятую точку опоры. Мне кажеться в этом вопросе стоит равняться на Дымка, он реально пытался помочь человеку и словом и делом, за что лично от меня ему большое спасибо.
Almi
UNец
 
Сообщения: 16
Зарегистрирован: 02 дек 2010, 22:00

След.

Вернуться в Почемучка

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

Сейчас этот форум просматривают: Yandex [Bot] и гости: 34