|
Общие вопросы вопросы не попадающие ни в один из доступных разделов |
10.05.2015, 01:15
|
#2131
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Имхо просто делай дубликат итема через контекстное меню.
|
(Offline)
|
|
10.05.2015, 01:25
|
#2132
|
Легенда
Регистрация: 14.10.2007
Сообщений: 3,878
Написано 2,012 полезных сообщений (для 5,072 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от pax
Имхо просто делай дубликат итема через контекстное меню.
|
Это ок. Спасибо) А size нельзя убрать или заблочить от редактирования?
Так то можно не обращать внимание, но... раздражет он.
|
(Offline)
|
|
10.05.2015, 02:23
|
#2133
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от Gector
Это ок. Спасибо) А size нельзя убрать или заблочить от редактирования?
Так то можно не обращать внимание, но... раздражет он.
|
Прикольная штука
Как заставить UI Graphic перерисоваться? Сейчас делаю вот так :
gr.gameObject.SetActive(false); gr.gameObject.SetActive(true);
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.05.2015, 08:54
|
#2134
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от ANIK123
Как заставить UI Graphic перерисоваться? Сейчас делаю вот так :
gr.gameObject.SetActive(false); gr.gameObject.SetActive(true);
|
Попробуй http://docs.unity3d.com/ScriptRefere...tAllDirty.html
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
13.05.2015, 01:48
|
#2135
|
ПроЭктировщик
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений (для 25 пользователей)
|
Ответ: Вопросы от новичка
Выполнение такого куска:
int a = 34000;
float b = 0.01f;
a = (int)(b * a);
Debug.Log(a);
дает 339.
Подскажите, а куда единица девается ?
|
(Offline)
|
|
13.05.2015, 02:34
|
#2136
|
Гигант индустрии
Регистрация: 13.09.2008
Сообщений: 2,893
Написано 1,185 полезных сообщений (для 3,298 пользователей)
|
Ответ: Вопросы от новичка
Сообщение от ILonion
Выполнение такого куска:
int a = 34000;
float b = 0.01f;
a = (int)(b * a);
Debug.Log(a);
дает 339.
Подскажите, а куда единица девается ?
|
Возможно из за не точности float. Попробуй использовать Double, а не float.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
13.05.2015, 09:15
|
#2137
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
Да, это из-за не точности float, просто отбрасывается дробная часть (которая равна например 0,99999999). Можно так:
a = Mathf.RoundToInt(b * a);
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
13.05.2015, 18:49
|
#2138
|
ПроЭктировщик
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений (для 25 пользователей)
|
Ответ: Вопросы от новичка
Спасибо! Понятно.
double тоже дала 339.
Mathf.RoundToInt дала нужное.
|
(Offline)
|
|
13.05.2015, 19:02
|
#2139
|
ПроЭктировщик
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений (для 25 пользователей)
|
Ответ: Вопросы от новичка
Уточнение-вопрос:
Мне нужно чтобы в результате вычисление флоат*флоат, инт*флоат, флоат*инт, получалось целое без дробной части. Но главное без округления. Т.е. даже если 100.9999999999, чтобы давало на выходе - 100.
Mathf.RoundToInt может такое только делать гарантировано? хотя оно как раз вроде и округляет.
Или просто приведение (int) не будет округлять, а только отбрасывать дробное?
*имеется ввиду на случай если что-то будет заковыристое описанное в пред. вопросе
|
(Offline)
|
|
14.05.2015, 09:47
|
#2140
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
приведение к int отбрасывает дробную часть
Mathf.RoundToInt округляет до целого
Mathf.CeilToInt Возвращает наименьшее целое число, которое больше или равно заданному числу
Mathf.FloorToInt Возвращает наибольшее целое число, которое меньше или равно заданному числу
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
14.05.2015, 18:01
|
#2141
|
ПроЭктировщик
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений (для 25 пользователей)
|
Ответ: Вопросы от новичка
Спасибо!
|
(Offline)
|
|
14.05.2015, 19:58
|
#2142
|
Знающий
Регистрация: 08.01.2013
Адрес: Самара
Сообщений: 284
Написано 104 полезных сообщений (для 180 пользователей)
|
Ответ: Вопросы от новичка
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
17.05.2015, 00:02
|
#2143
|
ПроЭктировщик
Регистрация: 02.10.2014
Сообщений: 102
Написано 5 полезных сообщений (для 25 пользователей)
|
Ответ: Вопросы от новичка
Подскажите, пожалуйста, как правильно действовать:
Дано: огромное кол-во 3д объектов. По надобности делается копия одного из, и "забрасывается" в игровой процесс.
В блитце делал так: загружал все сразу на старте и hideentity. По надобности: копировал, showentity, использовал.
В юнити, с выключенным setactive, Instantiate не делается. Решил выключать компонент renderer. Далее то же самое что в блитце.
Правильный ли это подход в юнити для данного случая?
|
(Offline)
|
|
17.05.2015, 10:12
|
#2144
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Вопросы от новичка
В Unity для копирования используются префабы. Не надо их в сцену помещать.
По поводу Instaniate и SetActive - вероятно ты забыл включить снова скопированный объект (SetActive(true))
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
18.05.2015, 02:05
|
#2145
|
Знающий
Регистрация: 29.11.2010
Сообщений: 244
Написано 31 полезных сообщений (для 49 пользователей)
|
Ответ: Вопросы от новичка
Не ожидал, что застряну на такой мелочи, но: как достать исходный обьект из SerializedProperty?
Пишу это:
List<Level.Cell> list = (List<Level.Cell>)(object)property.objectReferenceValue;
компилит, но вызывает такое:
type is not a supported pptr value
А других вариантов гугл вроде не выдает
(Пытаюсь достать данные из элементов вышеупомянутого List-а, а не просто нарисовать их)
Или иначе: как, будучи внутри своего PropertyDrawer-а, достать обьект, который он рисует?
__________________
Intel Core i3-4005U (1.7 ГГц), 4 ГБ ОЗУ, nVidia GeForce 940M 4 ГБ, Win8.1
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 17:31.
|