Вторник, 23 Апреля 2024, 14:56

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Форум игроделов » Записи участника » labinzevv [60]
Результаты поиска
labinzevvДата: Суббота, 24 Апреля 2021, 19:56 | Сообщение # 21 | Тема: Размер массива и добавление в него элементов
частый гость
Сейчас нет на сайте
Цитата drcrack ()
Используй List<string> вместо массива

Подскажи плиз как в List<string> добавлять строки? не могу разобраться..


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Суббота, 24 Апреля 2021, 19:18 | Сообщение # 22 | Тема: Размер массива и добавление в него элементов
частый гость
Сейчас нет на сайте
Привет! Такой вопрос: есть скрипт
Код

public string wordDownStr //сюда вводится текст и подтверждается UI Button
public string[] arrayInputWords;

void Update()
    {
         arrayInputWords = new string[1];
        for (int i = 0; i < arrayInputWords.Length; i++)
        {
            arrayInputWords[i] = wordDownStr;
        }
    }
}

в public string вводится текст и подтверждается UI Button и так n- кол-во раз
нужно введённый в public string текст, каждый раз после подтверждения UI Button добавлять в массив public string[] arrayInputWords.
Смог добиться только чтобы в массив заносился первый подтверждённый текст, после второго подтверждения текст заменяется.
Подскажите как сделать чтобы размер массива увеличивался автоматически после подтверждения ввода текста и каждый новый ввод текста вносился в новую ячейку массива?


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Пятница, 23 Апреля 2021, 03:33 | Сообщение # 23 | Тема: Внесение изменений в скрипт
частый гость
Сейчас нет на сайте
Всем привет. Такой вопрос: Возможно ли из игрового процесса вносить изменения в скрипт или в файл? Допустим вводишь слово, а в файле словаря такого слова нет, и типа жмёшь на UI кнопку "добавить новое слово" и введённое слово добавляется в файл словаря. Или только в редакторе открывать файл и добавлять в ручную? Если такая возможность всё-таки есть, подскажите плиз)

В этой теме разобрался:
есть скрипт:
Код


using UnityEngine;
using UnityEngine.UI;
using System.IO;
using UnityEngine.EventSystems;

public class addWord : MonoBehaviour, IPointerDownHandler, IPointerUpHandler
{
    string pathToFile = "C:/rus.txt";
    string[] slovar = File.ReadAllLines("C:/rus.txt");
    public Text wordDown;
    public string wordDownStr;
    bool pressed = false;

    public void OnPointerDown(PointerEventData eventData)
    {
        pressed = true;
    }

    public void OnPointerUp(PointerEventData eventData)
    {
        pressed = false;
    }

    void Update()
    {
        wordDownStr = wordDown.text;
        if (pressed)
        {
            File.AppendAllText(pathToFile, Environment.NewLine);
            File.AppendAllText(pathToFile, wordDownStr);
        }
    }
}


но работает не корректно

строка File.AppendAllText(pathToFile, Environment.NewLine); - в ней "имя Environment не существует в данном контексте" (не могу добавить новую строку в файл)

строка File.AppendAllText(pathToFile, wordDownStr); - работает но записывает в файл одно и то же слово несколько раз подряд при одном нажатии ui кнопки (хотя должно записать однократно)

Народ, помогите разобраться в чём дело...

Добавлено (23 Апреля 2021, 09:49)
---------------------------------------------
переделал скрипт, теперь с записью нового слова всё ОК (записывает новое слово единожды, как нужно)
Код

using UnityEngine;
using UnityEngine.UI;
using System.IO;

public class addWord : MonoBehaviour
{
    string pathToFile = "C:/rus.txt";
    public Text wordDown;
    public string wordDownStr;

    public void rec()
    {
        wordDownStr = wordDown.text;
        File.AppendAllText(pathToFile, wordDownStr);
        File.AppendAllText(pathToFile, Environment.NewLine);
    }
}

Но со строкой File.AppendAllText(pathToFile, Environment.NewLine); так и осталась проблема: не работает Environment (не могу создать в файле новую строку) Может быть есть какой то другой способ?

Можно закрывать тему.
нашёл добавление новой строки в файл:
File.AppendAllText(pathToFile, "\r\n");


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv

Сообщение отредактировал labinzevv - Пятница, 23 Апреля 2021, 11:20
labinzevvДата: Среда, 21 Апреля 2021, 22:25 | Сообщение # 24 | Тема: Словарь из файла
частый гость
Сейчас нет на сайте
Прицепил текстовый файл к массиву, теперь другая проблема: при вводе слова в inputField нужно проверить есть ли оно в этом массиве. Пробовал проходить циклом по массиву и в if() сравнивать, но результата не дало. foreach не по целому слову проверяет, а по одному символу(вводишь любой символ, который есть в файле словаря и сразу результат, а нужно определение по слову, которое есть в файле) может кто подскажет как выполнить?

3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Среда, 21 Апреля 2021, 11:37 | Сообщение # 25 | Тема: Словарь из файла
частый гость
Сейчас нет на сайте
Всем привет! Снова нужна ваша помощь друзья) В общем вопрос такой: Есть массив string[] а, в него нужно запихнуть кучу слов, руками оч долго. Хотелось бы заполнить этот массив из текстового файла - словаря. Так вот, есть ли такой способ, если есть, подскажите пожалуйста как это сделать:)

3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Четверг, 25 Марта 2021, 09:15 | Сообщение # 26 | Тема: Переключение между тремя объектами
частый гость
Сейчас нет на сайте
Цитата djwirtuoz ()
не самое лучшее решение, но для быстрого прототипа подойдет. нет unity под рукой, писал "на глаз", могут быть ошибки

Код

public GameObject a;
public GameObject b;
public GameObject c;
int counter = 0;
int max_count_object;

public bool select = false;

void Update()
{
    selectedTest();
}

public void selectedTest()
{
    if (Input.GetKey(KeyCode.K))
    {
        switch (counter)
        {
            case 0:
                a.SetActive(true);
                b.SetActive(false);
                c.SetActive(false);
                Debug.Log("1");
            case 1:
                a.SetActive(false);
                b.SetActive(true);
                c.SetActive(false);
                Debug.Log("2");
            case 3:
                a.SetActive(false);
                b.SetActive(false);
                c.SetActive(true);
                Debug.Log("3");
        }

        counter++;
        if (counter > max_count_object) { counter = 0; }
    }
}



Отлично! Спасибо за помощь. Сейчас попробую.


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Четверг, 25 Марта 2021, 08:39 | Сообщение # 27 | Тема: Переключение между тремя объектами
частый гость
Сейчас нет на сайте
Привет Народ! Требуется Ваша помощь:
Нужно осуществить переключение между тремя объектами нажатием одной и той-же клавиши.
переключение между двумя сделал следующим образом:
Код

public GameObject a;
public GameObject b;

public bool select = false;

void Update()
{
   selectedTest();
}

public void selectedTest()
{
       if (Input.GetKey(KeyCode.K))
        {
            select = !select;
            if (select == true)
            {
                a.SetActive(false);
                b.SetActive(true);
                Debug.Log("1");
            }
            else
            {
                a.SetActive(true);
                b.SetActive(false);
                Debug.Log("2");
            }
        }
}


А вот как переключаться между тремя объектами (последовательно) Не могу догнать...


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Суббота, 06 Марта 2021, 14:37 | Сообщение # 28 | Тема: Вопрос по Slider UI
частый гость
Сейчас нет на сайте
Привет народ. Создал слайдер для управления зумом камеры. Управляется с клавиатуры (при нажатии клавиш клавиатуры, камера зуимтся и ползунок слайдера тоже двигается) и непосредственно самим слайдером. Всё работает, проблема в том, что при нажатии на клавиши A и D (на них висит перемещение персонажа влево вправо) ползунок слайдера тоже начинает двигаться вверх вниз. При этом эти две клавиши никак не связанны со слайдером, с остальные клавишами всё в порядке. Может кто знает как решить проблему?
p.s. Отключаю все скрипты, которые связанны с управлением (т.е. клавиши A и D вообще никуда не привязаны, проблема всё равно остаётся)

Добавлено (06 Марта 2021, 16:18)
---------------------------------------------
Разобрался в чём проблема: в инспекторе слайдера есть настройка Direction. Она привязывается к осям left to right или up to bottom. В общем слайдер управляется с клавиатуры, либо A и D либо W и S. Осталось узнать, как это отключить...


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv

Сообщение отредактировал labinzevv - Суббота, 06 Марта 2021, 16:14
labinzevvДата: Понедельник, 01 Марта 2021, 16:29 | Сообщение # 29 | Тема: Доступ к children
частый гость
Сейчас нет на сайте
Цитата drcrack ()
var b = ...
if(b) {
...
}

Во! Точно! То что нужно! Оказалось элементарно). Спасибо за помощь!!!+


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Понедельник, 01 Марта 2021, 02:03 | Сообщение # 30 | Тема: Доступ к children
частый гость
Сейчас нет на сайте
Цитата drcrack ()
Если внутри одного S может быть только один B, то ниче не меняется, просто делаешь
Код
var b = obj.GetComponentInChildren<B>();

Если B это просто обьект без скриптов, можно сделать тупее:
Код

var t = obj.transform;
var b = t.GetChild(t.childCount - 1).gameObject;


С этой частью вроде бы разобрался, нашел доступ к объекту B. Спасибо за помощь.
Теперь другая проблема возникла: Весь поиск происходит в Update, чтобы объект В менялся в реальном времени, и по этому пока объекта В нету в cild у объекта А, в логе постоянная ошибка "не найден объект cild". Нужно создать условие if, пока child нету, код внутри не выполняется. А вот как пишется это условие, не знаю...


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Воскресенье, 28 Февраля 2021, 23:02 | Сообщение # 31 | Тема: Доступ к children
частый гость
Сейчас нет на сайте
Цитата Sanchez06 ()
Если у тебя скрипт В в единственном экземпляре, то можешь сделать GameObject.GetComponentInChildren(B)


В том то и дело, что объектов В в сцену много спавнится и у них имя и тэг одинаковые, по этому нужно получить доступ именно к тому, который стал child объекту, который висит на public GameObject в скрипте


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Воскресенье, 28 Февраля 2021, 18:27 | Сообщение # 32 | Тема: Доступ к children
частый гость
Сейчас нет на сайте
Всем привет. Такой вопрос:
Есть GameObject, на нем висит скрипт "S", в скрипте есть переменная public GameObject obj в которую добавлен объект "A" со сцены. При запуске проекта, к объекту "A" в children добавляется один из заспавненных(может быть любым) объектов "В" (при нажатии клавиши на клавиатуре). Так вот, каким образом можно получить доступ к объекту "В" из скрипта "S", чтобы можно было изменить его свойства из созданного мной метода в скрипте "S"?


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Воскресенье, 28 Февраля 2021, 16:48 | Сообщение # 33 | Тема: Некорректное срабатывание
частый гость
Сейчас нет на сайте
Всем спасибо. Решил проблему так: В Update меняю тег объекта (с помощью переключателя bool и if)
А уже в OnTriggerStay код выполняется при смене тега. Как то так..


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Суббота, 27 Февраля 2021, 17:28 | Сообщение # 34 | Тема: Некорректное срабатывание
частый гость
Сейчас нет на сайте
Цитата drcrack ()
Я ж написал как правильно (и в 2-3 раза быстрее)

Всё теперь догнал) Спасибо за подсказку, одной проблемой меньше.


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Суббота, 27 Февраля 2021, 15:09 | Сообщение # 35 | Тема: Некорректное срабатывание
частый гость
Сейчас нет на сайте
Цитата drcrack ()
не по теме, но как вообще пришло в голову написать это таким образом, вместо transform.rotation = hand.rotation?


Ну присвоение координат вращения того объекта к которому будет Child объект, на котором висит скрипт.
Если не правильно, подскажи, как сделать корректно. Просто оно в данном виде работает)


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Суббота, 27 Февраля 2021, 14:55 | Сообщение # 36 | Тема: Некорректное срабатывание
частый гость
Сейчас нет на сайте
Цитата IlyaKos ()
Так, пока ты в триггере, у тебя переменная постоянно моргает с тру на фолс туда-сюда, поэтому такой результат.


Да, уже перенёс handUp = !handUp; в if (Input.GetKeyDown(KeyCode.G)) Всё равно продолжает сбиваться...


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Суббота, 27 Февраля 2021, 13:45 | Сообщение # 37 | Тема: Некорректное срабатывание
частый гость
Сейчас нет на сайте
Всем привет. Такая проблема:
Делаю переключатель на основе If и bool в OnTriggerStay (код ниже) дело в том, что иногда он срабатывает как надо, то есть по очереди выполняет if и else, а иногда может по три раза выполнить if, потом один раз else и наоборот, в общем сбивается. Может кто нибудь сталкивался и знает как решить эту проблему?

Код

public bool handUp = false;

void OnTriggerStay(Collider other)
    {
        if (other.tag == "hand")
        {
            handUp = !handUp;  

            if (Input.GetKeyDown(KeyCode.G))  
            {
                if (handUp == true)                         
                {
                    obj_Rigidbody.freezeRotation = true;
                    obj_Rigidbody.constraints = RigidbodyConstraints.FreezePosition;

                    transform.rotation = new Quaternion(hand.transform.rotation.x, hand.transform.rotation.y,
                    hand.transform.rotation.z, hand.transform.rotation.w);

                    transform.position = new Vector3(hand.transform.position.x, -2.2f, hand.transform.position.z);
                    
                    transform.parent = GameObject.Find("hand").transform;

                    Debug.Log("1");
                }
                else
                {
                    obj_Rigidbody.constraints = RigidbodyConstraints.None;  

                    transform.parent = null;

                    Debug.Log("2");

                }
            }
        }
    }


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv

Сообщение отредактировал labinzevv - Суббота, 27 Февраля 2021, 13:48
labinzevvДата: Среда, 24 Февраля 2021, 23:21 | Сообщение # 38 | Тема: Подключить к скрипту неактивный объект.
частый гость
Сейчас нет на сайте
О! Спасибо огромное!!! Выручил!+

3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Среда, 24 Февраля 2021, 20:17 | Сообщение # 39 | Тема: Подключить к скрипту неактивный объект.
частый гость
Сейчас нет на сайте
Который нужно привязать к скрипту 1, а из префаба много спавниться будут

3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
labinzevvДата: Среда, 24 Февраля 2021, 01:11 | Сообщение # 40 | Тема: Подключить к скрипту неактивный объект.
частый гость
Сейчас нет на сайте
Всем привет. Такая проблема:
Есть префаб (периодически спавнится в сцену), на нём висит скрипт, в скрипте есть публичная переменная Transform, в которую из сцены нужно запихать transform неактивного объекта, причём его чилдрена (этот объект периодически активируется\деактивируется, но при старте сцены он должен быть неактивен). Есть ли решение? Хотя бы с чего начать копать? Пробовал поиск по ключам string ничего не вышло...


3d modeling, unfolding, and texturing. My works: https://vk.com/labinzevv
Форум игроделов » Записи участника » labinzevv [60]
  • Страница 2 из 3
  • «
  • 1
  • 2
  • 3
  • »
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг