Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
8 / 8 / 4
Регистрация: 11.03.2015
Сообщений: 212
1

Передача параметров из одного скрипта в другой. С#

26.02.2016, 17:46. Показов 3020. Ответов 5

Author24 — интернет-сервис помощи студентам
Есть два скрипта. В одном вызываю метод другого, но в чём-то загвоздка... Что-то с типами не так...

Prolog
1
2
Assets/Scripts/FindComponents.cs(27,31): error CS1502: The best overloaded method match for `WithXmlDocClass.addElement(string, int, UnityEngine.GameObject)' has some invalid arguments
Assets/Scripts/FindComponents.cs(27,31): error CS1503: Argument `#3' cannot convert `string' expression to type `UnityEngine.GameObject'
В классе FindComponents пытаюсь вызвать метод класса WithXmlDocClass.
Собственно сами скрипты и их методы:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
public class FindComponents : MonoBehaviour {
    public string tmpText = "";
 
    // Use this for initialization
    void Start () 
    {
 
        tutorial[] tooTipArr;
 
        //поиск всех элементов сцены
        tutorial[] arrObj = FindObjectsOfType(typeof(tutorial)) as tutorial[];
 
        foreach (tutorial element in arrObj) 
        {
            print(element.TooltipText);
            print(element.GetInstanceID());
 
            WithXmlDocClass gtXml = new WithXmlDocClass();
            gtXml.addElement("ru", (int)element.GetInstanceID(), element.TooltipText );
 
 
        }
    }
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
public class WithXmlDocClass : MonoBehaviour {
 
    XmlDocument document = new XmlDocument();
 
    public void addElement(string lg, int id, GameObject toolTipText)
    {
        XmlNode element = document.CreateElement("element");
        document.DocumentElement.AppendChild(element); // указываем родителя
 
        XmlAttribute attribute_lg = document.CreateAttribute("lang"); // создаём атрибут
        attribute_lg.Value = lg;// устанавливаем значение атрибута
 
        element.Attributes.Append(attribute_lg); // добавляем атрибут
 
        XmlNode toolTip = document.CreateElement("toolTip"); // даём имя
        XmlAttribute attribute_id = document.CreateAttribute("id"); // создаём атрибут
        attribute_id.Value = id; // устанавливаем значение атрибута
        element.Attributes.Append(attribute_id); // добавляем атрибут
 
        toolTip.InnerText = toolTipText;
        element.AppendChild(toolTip); // и указываем кому принадлежит
 
        document.Save("Assets\\XML.xml");// сохраняем xml файл
    }
 
    // Use this for initialization
    void Start () {
        document.Load("Assets\\XML.xml");
 
    }
Что не так?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
26.02.2016, 17:46
Ответы с готовыми решениями:

Передача переменной из одного скрипта в другой
Всем привет. Есть переменная click(uint),она висит на объекте. надо,чтобы я жмакал на объект2 и...

Передача параметров одного сервлета в другой
Здравствуйте! подскажите пожалуйста как передать параметр из одного сервлета на другую? из...

Передача GET параметров из одного контроллера в другой
Всем привет. Может кто подсказать? У меня есть Контроллер #1: В коде ниже, я словил какие-то GET...

Передача параметров из одного модуля в другой
Привет, ребят. Есть два модуля operation.c и main.c. Из operations.c в main.c нужно передать три...

5
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
26.02.2016, 17:52 2
Naomis,
C#
1
public void addElement(string lg, int id, GameObject toolTipText)
В параметрах GameObject, а Вы string передаёте - не надо так...
0
8 / 8 / 4
Регистрация: 11.03.2015
Сообщений: 212
28.02.2016, 21:27  [ТС] 3
Cr0c, ага, как увидел, сразу же подправил. Тут новая напасть.

Prolog
1
2
3
NullReferenceException: Object reference not set to an instance of an object
WithXmlDocClass.addElement (System.String lg, Int32 id, System.String toolTipText) (at Assets/Scripts/WithXmlDocClass.cs:19)
FindComponents.Start () (at Assets/Scripts/FindComponents.cs:28)
Вот на эту строчку. В чём фишка?
C#
1
document.DocumentElement.AppendChild(element);
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
XmlDocument document = new XmlDocument();
 
    public void addElement(string lg, int id, string toolTipText)
    {
        XmlNode element = document.CreateElement("element");
        document.DocumentElement.AppendChild(element); // указываем родителя
 
        XmlAttribute attribute_lg = document.CreateAttribute("lang"); // создаём атрибут
        attribute_lg.Value = lg;// устанавливаем значение атрибута
 
        element.Attributes.Append(attribute_lg); // добавляем атрибут
 
        XmlNode toolTip = document.CreateElement("toolTip"); // даём имя
        XmlAttribute attribute_id = document.CreateAttribute("id"); // создаём атрибут
        attribute_id.Value = id.ToString(); // устанавливаем значение атрибута
        element.Attributes.Append(attribute_id); // добавляем атрибут
 
        //name.InnerText = /**"Какое-то имя"**/gameObject.GetComponent <tutorial>().TooltipText; // даём значение
        toolTip.InnerText = toolTipText;
        element.AppendChild(toolTip); // и указываем кому принадлежит
 
        document.Save("Assets\\XML.xml");// сохраняем xml файл
    }
0
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
28.02.2016, 22:08 4
Naomis,
Цитата Сообщение от Naomis Посмотреть сообщение
document.DocumentElement
document создан, а DocumentElement?
0
8 / 8 / 4
Регистрация: 11.03.2015
Сообщений: 212
28.02.2016, 22:44  [ТС] 5
Cr0c, так, а это что и где?

Добавлено через 13 минут
Cr0c, сам файл? Он уже есть, при старте загружается.
C#
1
2
3
4
void Start () {
        document.Load("Assets\\XML.xml");
 
    }
Добавлено через 1 минуту
А это разве не создание его?

C#
1
XmlNode element = document.CreateElement("element");
0
753 / 600 / 204
Регистрация: 06.08.2015
Сообщений: 2,432
28.02.2016, 22:46 6
Naomis, хз, я с XML не работал, всё больше кастомные форматы ручками мастырил.
0
28.02.2016, 22:46
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2016, 22:46
Помогаю со студенческими работами здесь

передача параметров из одного php в другой
Здравствуйте, товарищи, помогите решить проблему (уже 2 день мучаюсь) есть 2 файла - один с формой,...

Передача значений переменных из одного js-скрипта в другой
Здравствуйте! Есть проблема. Имеется, к примеру, такой HTML-файл: ... &lt;script&gt; ... var a1 =...

Копирование текста из одного скрипта в другой и разделение одного скрипта на два
Каким способом можно копировать текст из одного скрипта в другой и как создать новый из части...

Передача данных из одного php скрипта в другой php скрипт
Работаю с методом API. Метод может передать данные только в один скрипт. А уж из этого скрипта я...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru