![]() |
Ответ: Фак по Юнити.
Ну а нафига тебе выделять память сразу под все элементы массива? Вдруг ты используешь всего 1 элемент из десяти? Не забывай что это массив ссылок на экземпляры класса, а не массив значений. Если экземпляра нет, то это null. Все четко и ясно.
А пример с int переменной не катит, это тип значения, а не ссылочный тип ;) потому что int[] myIntArray = new int[100500]; выделит память сразу. |
Ответ: Фак по Юнити.
Хотел получить список всех компонентов LOD (ручной скрипт)
написал allLOD = Object.FindSceneObjectsOfType(typeof(LOD)); но таким образом не могу к нему обратиться, хотя в инспекторе вижу список вытянутых скриптов т.е. allLOD[i]. не подсвечиваются внутренние переменные. Подскажите что сделать. И вообще нормальный ли это вариант, или лучше находить ГаймОбжекты и у них уже вызывать GetComponent<T>() Но не знаю как найти ГО с определенным компонентом. Через тэги пока только умею :rolleyes: |
Ответ: Фак по Юнити.
1. Наверное все же FindObjectsOfType?
2. Опять приведение типов. Смотрите внимательнее мануал. Что возвращает эта функция? Object[]! Естественно в Object нет Ваших переменных. Приведите результат к типу LOD - все будет работать. Код:
LOD[] allLOD = (LOD[]) FindObjectsOfType(typeof(LOD)); |
Ответ: Фак по Юнити.
Спасибо Симен!
А FindObjectsOfType будет выбирать объекты только текущей сцены? Я увидел что есть FindSceneObjectsOfType вот и подумал что она мне нужна ) |
Ответ: Фак по Юнити.
FindSceneObjectsOfType недокументирована, потому я бы не использовал.
Цитата:
|
Ответ: Фак по Юнити.
Сейчас еще наткнулся на такую загвоздку.
Есть скрипт, который собирает все объекты по тэгу и обновляет их. И не получается удалить объект без Null Reference, т.е. скрипт кричит что объекта уже нету. Пытался обновить список объектов в OnDestroy(), но получается что я запрашиваю список перед удалением, и соответственно удаляемый объект оказывается в этом списке и приводит к ошибке. Подскажите плиз как избавиться от бага Может можно как то вызывать некоторые функции в последнюю очередь? Т.е. вот так не канает А еще подскажите, плохо ли что я использую статичные переменные и методы в Собирающем скрипте, при условии что на всю сцену у меня их будет по одному |
Ответ: Фак по Юнити.
сравнить объект с null перед обработкой не пробовал?
PHP код:
|
Ответ: Фак по Юнити.
Ну такая проверка имеет две стороны медали
С одной стороны так ошибок точно не будет. С другой стороны лишнее вычисление и не будет ошибок, когда они могут тебе подсказать. Может есть еще варианты? |
Ответ: Фак по Юнити.
null обработать другим способом нельзя. можешь вместо continue поставить лог, что null попался.
|
Ответ: Фак по Юнити.
Да не Пакс, не в этом дело, я просто привык делать так чтобы не делать доп. проверок, это только доп. нагрузка для проца.
Ну раз нет других способов, так нет. Написал не реалтайме чтоб проверял, а только тогда, когда переменная isNeedLODList == true LODController сам LOD Хотя может я слишком помешан на оптимизации... Критику буду рад слышать. Это мой LOD скрипт для free версии :) |
Ответ: Фак по Юнити.
Блин, чтото с гуи парюсб парюсь. И не получается.
Подскажите как можно сделать область, в которой размер содержимого менялся в зависимости от размера области. Пробовал Areа - за её пределы спокойно выходят рисунки. Мне вообще это надо для отображения рисунков одинакового размера, при условии что сама текстура может быть разными размерами. Подскажите плиз как ограничить размер текстуры, желательно через Rect параметр для скрипта. |
Ответ: Фак по Юнити.
Немного непонятен вопрос, вот это подойдет?
http://docs.unity3d.com/Documentatio...TexCoords.html |
Ответ: Фак по Юнити.
Да Пакс, это то, только проблема в том что я использовал GUILayout, в котором объекты автоматом располагаются.
И в этом Layout пытался картинку вставить, с custom style и настроенным width height, но както коряво смотрится. Посоветуйте, стоит ли пользоваться GUILayout? Либо чтото другое. И в справке не могу найти (раньше натыкался), можно создать какуюто типо Area, в которой координаты свои, т.е. внутренние элементы дочерние с локальными координатами. Не знаете что за элемент? |
Ответ: Фак по Юнити.
Мне ГуиЛайоут нравится только тем что не надо расчитывать размеры каждого элемента
|
Ответ: Фак по Юнити.
Объясни предметно с рисунками что ты хочешь сделать, иначе хз как помочь. Я не понял проблемы. Но одно могу сказать точно - GUI в GUILayout не всегда можно использовать нормально, особенно простое рисование текстуры.
|
Часовой пояс GMT +4, время: 02:37. |
vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot