Результаты поиска
| |
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
|
|
| |
|