forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Общие вопросы (http://forum.boolean.name/forumdisplay.php?f=166)
-   -   Вопросы от новичка (http://forum.boolean.name/showthread.php?t=15809)

pie 08.02.2013 22:01

Ответ: Вопросы от новичка
 
Всем привет! Возник вопрос по Offset текстуры. У меня на объект повешено 2 материала. Первый основной, второй с альфой поверх него. Как мне изменять Offset второй текстурки? renderer.material.SetTextureOffset меняет только у основного (первого) материала. Спасибо.

Lestar 08.02.2013 22:48

Ответ: Вопросы от новичка
 
Код:

renderer.materials[1].SetTextureOffset

WISHMASTER35 09.02.2013 00:36

Ответ: Вопросы от новичка
 
А переопределить оператор = нельзя?
Пишу такой класс
Код:

        class Container<T> where T : struct {
                public T value;
               
                public Container() {
                }
                public Container(T value) {
                        this.value = value;
                }
               
                public static implicit operator T(Container<T> c) {
                        return c.value;
                }
                public static Container<T> operator =(Container<T> c, T value) {
                        c.value = value;
                        return c;
                }
        }

Хочется сделать неявное присваивание, чтобы не обращаться к полю value.

seaman 09.02.2013 01:03

Ответ: Вопросы от новичка
 
Оператор '=' переопределить нельзя. Более того нет неявного конструктора копирования. Нужно определять его самостоятельно
public Container(Container<T> other){value = other.value;}
Используем:
Container<int> one = new Container<int>(1);
Container<int> two = new Container<int>(one);

WISHMASTER35 09.02.2013 01:13

Ответ: Вопросы от новичка
 
seaman, мне простые типы нужно было записывать в мой контейнер. Ну ладно.

Я пытался сделать для моего MineCraft parallax шейдер без parallax текстуры. Т.е. чем светлее пиксель, тем больше выпирает пиксель.
Но смещение текстурных координат было настолько сильным, что uv заходили на другие тайлы в атласе.
Наверно глупый вопрос, но это никак нельзя исправить?

Как узнать, что ссылка не на объект сцены, а на префаб? И интересно сам объект не может узнать в сцене он или лишь прифаб? На случай если вручную вызывать метод в префабе)

seaman 09.02.2013 12:10

Ответ: Вопросы от новичка
 
Цитата:

И интересно сам объект не может узнать в сцене он или лишь прифаб? На случай если вручную вызывать метод в префабе)
Префаб не объект, а лишь описание объекта. Поэтому первый вопрос лишен смсла. Только объект может что-то узнавать, а описание объекта, естественно ничего узнать не может.
Аналогично вызвать метод в префабе просто невозможно. Сначала нужно инстанцировать префаб. Это аналогично тому, чтобы пытатьс завести чертеж машиныы и поехать на нем. Сначала по чертежу нужно сделать саму машину.

Okay 09.02.2013 14:08

Ответ: Вопросы от новичка
 
Не пойму, как настроить синхронизацию между клиентами. Запускал 2 клиента, результат нулевой(не видно никого).
PlayerIO используется

WISHMASTER35 09.02.2013 14:34

Ответ: Вопросы от новичка
 
Цитата:

Префаб не объект, а лишь описание объекта. Поэтому первый вопрос лишен смсла.
Почему же? Есть у меня ссылка на объект. Мне надо проверить этот объект префаб или нет. Если префаб, то создать объект из него и работать с ним.

Этот объект BlockSet для моего MineCraft. В OnEnable он инициируется, но в префабе OnEnable конечно не вызывается. Хотя можно и вручную вызвать метод инициализации. Вообщем хотел сделать, чтобы BlockSet мог быть и префабом и объектом. Второй вариант, чтобы перед игрой можно было выбрать BlockSet и создать из него не уничтожаемый объект, чтобы передать его в сцену с игрой.

Может я не правильно делаю т.к. после завершения сцены игры он тоже не уничтожится и придется вручную это делать.

seaman 09.02.2013 14:54

Ответ: Вопросы от новичка
 
Цитата:

в префабе OnEnable конечно не вызывается. Хотя можно и вручную вызвать метод инициализации.
Вы в префабе хотите вручную вызвать OnEneble? Чушь какая! Еще раз - префаб не объект, а описание объекта. Чертеж автомобиля! Невозможно у чертежа включить зажигание!
Цитата:

Мне надо проверить этот объект префаб или нет.
Зачем? Почему из объекта не сделать другой объект?

WISHMASTER35 09.02.2013 15:13

Ответ: Вопросы от новичка
 
Цитата:

Вы в префабе хотите вручную вызвать OnEneble? Чушь какая! Еще раз - префаб не объект, а описание объекта.
Но это реально работает. Хотя и не хочу так оставлять.
Цитата:

Зачем? Почему из объекта не сделать другой объект?
Ну и зачем мне в сцене два объекта?

seaman 09.02.2013 15:17

Ответ: Вопросы от новичка
 
Цитата:

Но это реально работает.
Продемонстрируйте. Потому как полная лажа. Пока не инстансируете объект из префаба не существует ни одного экземпляра скриптов, "нацепленных" на префаб. Вызывать просто нечего.
ЗЫ:
Okay уменьши картинку. Форум сильно рвет.

Okay 09.02.2013 15:48

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от seaman (Сообщение 252201)
ЗЫ:
Okay уменьши картинку. Форум сильно рвет.

Уменьшил.
Кстати вот код спавна при успешном подключение к серверу
Код:

GameObject newplayer = GameObject.Instantiate(PlayerPrefab) as GameObject;

WISHMASTER35 09.02.2013 15:51

Ответ: Вопросы от новичка
 
seaman, не знаю. Может меши не грузятся, но скрипты отлично работают.
Код:

blockSet.transform.position = Vector3.one;
Debug.Log( blockSet.transform.position );

Такой код работал.

Я вот думаю может ScriptableObject использовать. Точно не знаю, но у него OnEnable должен вызываться после его загрузки.

seaman 09.02.2013 16:24

Ответ: Вопросы от новичка
 
Что есть blockSet в данном случае?
Нет на сцене префаба, какой может быть у него position? На сцене только объекты. Или вручную помещенные туда в редакторе, или сгенерированные скриптом или инстанируемые из префабов, других объектов. Ну и что такое position у того чего нет на сцене?
Насчет ScriptableObject не знаю точно. Насколько я понимаю его нужно создавать ScriptableObject.CreateInstance или загружать из бандлов. Тогда вызовется OnEnable. Час посмотрю. Может что-то пойму получше.

WISHMASTER35 09.02.2013 16:28

Ответ: Вопросы от новичка
 
seaman, position это просто поле(или свойство) скрипта Transform. Проверь, все отлично вызывается. Видно объекты все же создаются.
У ScriptableObject OnEnable вызывается и при загрузке редактора и при загрузки сцены. В моем случае с ним оказалось удобнее работать.

seaman 09.02.2013 16:38

Ответ: Вопросы от новичка
 
Цитата:

поле(или свойство) скрипта Transform
Вы вообще понимаете, что прежде чем изменить поле какого то скрипта (класса) нужно создать экземпляр этого класса? Нет экземпляра скрипта transform пока не создашь объект на котором этот скрипт висит! Если у Вас эти две строчи работают, значит у Вас есть на сцене объект blockSet. Значит вы его как то уже создали. Как - вам виднее.

seaman 09.02.2013 16:46

Ответ: Вопросы от новичка
 
Ну в -общем частично был не прав. Получается что я совсем не понимаю работы Юнити с префабами. Приношу свои извинения.

pax 09.02.2013 16:47

Ответ: Вопросы от новичка
 
Префаб в ресурсах это тоже объект, на нем висят скрипты и т.д., он просто не в сцене. Изменять его параметры и вызывать на нем функции не надо, т.к. это ведет к изменению ассета.

WISHMASTER35 09.02.2013 16:56

Ответ: Вопросы от новичка
 
Цитата:

Изменять его параметры и вызывать на нем функции не надо, т.к. это ведет к изменению ассета.
Ну во первых я вызывал из режима игры.
Во вторых даже если из редактора это делать, то у изменяемого скрипта должен быть атрибут [ExecuteInEditMode], еще и SetDirty возможно нужно вызывать.

pax 09.02.2013 16:58

Ответ: Вопросы от новичка
 
Из режима игры в редакторе меняются ассеты, так что осторожнее с этим.

WISHMASTER35 09.02.2013 20:07

Ответ: Вопросы от новичка
 
Продолжаю делать свой формат. Делаю чтобы список материалов содержался в xml файле. Т.е. хранились пути к материалам.
Получить путь к ассету легко AssetDatabase.GetAssetPath
Но как загрузить ассет зная этот путь? Resources.LoadAssetAtPath работает только в редакторе.
Или можно сохранять ID материала, а потом как-то загружать его по id?

Okay 09.02.2013 20:23

Ответ: Вопросы от новичка
 
Помогите с PlayerIO. Очень нужно. Проект стоит из-за этой проблемы. А в документации ничего не написано про синхронизацию

WISHMASTER35 09.02.2013 20:27

Ответ: Вопросы от новичка
 
Okay, не многие с сетью работали вообще. Создай тему на профильном форуме.

pax 09.02.2013 21:10

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от WISHMASTER35 (Сообщение 252228)
Продолжаю делать свой формат. Делаю чтобы список материалов содержался в xml файле. Т.е. хранились пути к материалам.
Получить путь к ассету легко AssetDatabase.GetAssetPath
Но как загрузить ассет зная этот путь? Resources.LoadAssetAtPath работает только в редакторе.
Или можно сохранять ID материала, а потом как-то загружать его по id?

Грузить можно только из папки Resources. Остальные ассеты подключаются к объектам и не попадают в билд, если на них нет ссылок.

WISHMASTER35 09.02.2013 21:16

Ответ: Вопросы от новичка
 
Я и так в Resources все кинул.
В документации написано что Resources.LoadAssetAtPath возвращает null в сборках.
Видимо никак не получится хранить ссылку или путь на объект, чтобы потом можно было его загрузить.
Интересно как Resources.Load поведет себя, если будет несколько ассетов с одинаковыми именами. Или он может и полный путь принимать, а не только имя?

seaman 09.02.2013 23:29

Ответ: Вопросы от новичка
 
Цитата:

Или он может и полный путь принимать, а не только имя?
Конечно может, но не полный, а относительно Resources
Цитата:

The path is relative to any Resources folder inside the Assets folder of your project, extensions must be omitted.

Morganolla 10.02.2013 15:34

Ответ: Вопросы от новичка
 
Как сделать, чтобы музыкальный клип продолжал звучать при переходе между сценами, а то он обрывается...

WISHMASTER35 10.02.2013 15:49

Ответ: Вопросы от новичка
 
Morganolla, наверное ж объект с клипом уничтожается? Созджай не уничтожаемый объект.
seaman, а если в проекте будет несколько, то относительно какой Resources? Наверно все эти папки сольются в одну. Не очень удобно т.к. может быть конфликт.

Morganolla 10.02.2013 20:53

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от WISHMASTER35 (Сообщение 252316)
Morganolla, наверное ж объект с клипом уничтожается? Созджай не уничтожаемый объект.

Как создать не уничтожаемый объект? :)

WISHMASTER35 10.02.2013 21:01

Ответ: Вопросы от новичка
 
Object.DontDestroyOnLoad

WISHMASTER35 10.02.2013 22:19

Ответ: Вопросы от новичка
 
Не понимаю я это GUILayout.
Код:

GUILayout.BeginHorizontal(GUIContent.none, GUI.skin.box, GUILayout.ExpandWidth(true), GUILayout.Height(40));
  Rect rect = GUILayoutUtility.GetAspectRect(1);
  GUI.Box(rect, GUIContent.none);
GUILayout.EndHorizontal();

Но высота все равно больше, чем 40.
Если убрать GUILayoutUtility.GetAspectRect(1), то высота будет минимальной т.е. меньше 40.
Как задать жесткий размер? MinHeight и MaxHeight не помогают.

WISHMASTER35 11.02.2013 01:21

Ответ: Вопросы от новичка
 
Подскажите как такое меню сделать? http://kms-system.com/uploads/posts/...4-23_00002.jpg
Т.е. само меню не по центру, а смещено в угол. А кнопки привязаны к левой стороне.
Я так понимаю нужно с BeginArea как-то играться, чтобы область меню. Но как потом кнопки привязать к левой стороне?

pax 11.02.2013 09:26

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от WISHMASTER35 (Сообщение 252356)
Не понимаю я это GUILayout.
Код:

GUILayout.BeginHorizontal(GUIContent.none, GUI.skin.box, GUILayout.ExpandWidth(true), GUILayout.Height(40));
  Rect rect = GUILayoutUtility.GetAspectRect(1);
  GUI.Box(rect, GUIContent.none);
GUILayout.EndHorizontal();

Но высота все равно больше, чем 40.
Если убрать GUILayoutUtility.GetAspectRect(1), то высота будет минимальной т.е. меньше 40.
Как задать жесткий размер? MinHeight и MaxHeight не помогают.

У бокса наверное есть отступы?

Цитата:

Сообщение от WISHMASTER35 (Сообщение 252368)
Подскажите как такое меню сделать? http://kms-system.com/uploads/posts/...4-23_00002.jpg
Т.е. само меню не по центру, а смещено в угол. А кнопки привязаны к левой стороне.
Я так понимаю нужно с BeginArea как-то играться, чтобы область меню. Но как потом кнопки привязать к левой стороне?

Так там кнопки одного размера же, просто выравнивание текста по левому краю.

Morganolla 11.02.2013 13:46

Ответ: Вопросы от новичка
 
Инспектор что то не отображает статические переменные, а где их можно посмотреть?

pax 11.02.2013 14:03

Ответ: Вопросы от новичка
 
Их нельзя посмотреть обычным способом. Можешь написать свое окошко например выводящее эти переменные.

WISHMASTER35 11.02.2013 17:10

Ответ: Вопросы от новичка
 
Цитата:

У бокса наверное есть отступы?
box рисуется через GUI. Это GUILayoutUtility.GetAspectRect(1) берет rect явно выше, чем 40. Точнее высота равна ширине, а ширина там больше, чем 40.

Цитата:

Так там кнопки одного размера же, просто выравнивание текста по левому краю.
Я даже не представляю как нарисовать несколько кнопок одного размера, если вручную не задавать размеры кнопок, или area.
По умолчанию кнопки растягивают область рисования gui и получается, что ширина всех кнопок равна самой широкой кнопки.
Хотя может лучше будет и вручную это все задать.

А кто нибудь пробовал свой GUISkin делать? Я вчера глянул, там столько настраивать надо... не говоря уже о количестве текстур))

pax 11.02.2013 17:13

Ответ: Вопросы от новичка
 
Вот в стиле бокса есть отступы margin и padding, они влияют на размер.

Еще есть фишка - можно делать GUILayout.Space(-5); что отодвинет элемент в обратную сторону.

Okay 11.02.2013 19:21

Ответ: Вопросы от новичка
 
Код:

public GameManager gm;
Ругается на эту строчку
Нужно вызвать скрипт. Пишу на C#
В другом скрипте написано точно так же. Но в другом ошибки нету. Почему?
Цитата:

Assets/Scripts/setanims.cs(7,16): error CS0246: The type or namespace name `GameManager' could not be found. Are you missing a using directive or an assembly reference?

seaman 11.02.2013 21:06

Ответ: Вопросы от новичка
 
А что за ругань - прочитать можете? Там же все написано.
Юнити не может найти GameManager. Либо он не так пишется, либо он написан на другом языке (C#/JS) и следовательно его нужно поместить в нужную папку (Plugins). Либо он в какой-то dll/namespace, которую нужно подключить явно, используя using.

WISHMASTER35 11.02.2013 22:56

Ответ: Вопросы от новичка
 
Как обычно делают меню? Каждый раздел меню в одном скрипте или в разных?
Обычно я главное меню, опции, хелп и др. разделял на разные скрипты. И если эти разделы довольно сложные, то лучше так и делать.
Но сейчас я рисую меню не просто по центру, а задаю area. И прописывать координаты этой области в каждом скрипте не очень хочется, чтобы при их смене не переписывать все скрипты.
Как тут лучше будет?

pax 12.02.2013 09:12

Ответ: Вопросы от новичка
 
1. Можно разделить класс на несколько файлов используя partial модификатор.
2. Использовать статические функции отрисовки, которые будут в другом(других) классах.
3. Писать все в одном файле, для удобной навигации по файлу иcпользовать директиву #region - #endregion

Morganolla 12.02.2013 15:10

Ответ: Вопросы от новичка
 
Мне нужно на одном объекте проигрывать одновременно несколько клипов. Прикрепил к нему несколько АудоСорсов, у каждого свой клип. А как их адресовать-идентифицировать?

Есть еще статичная ф-ия -
static function PlayClipAtPoint (clip : AudioClip, position : Vector3, volume : float = 1.0F) : void
она наверно создает независимый сорс и потом его уничтожает, но тогда не понятно как задать параметры для этого сорса ( дальность и затухание)... И как я не старался звука от нее так и не добился )

Можно правда еще прикрепить чилд со своим АудиСорсом и играть оттуда , но ведь это гемор...:)

Левша09 12.02.2013 17:55

Ответ: Вопросы от новичка
 
Подскажите пожалуйста что не так делаю
https://www.dropbox.com/s/szmefum389...y%20Project.7z

Lestar 12.02.2013 18:54

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от Morganolla (Сообщение 252527)
Мне нужно на одном объекте проигрывать одновременно несколько клипов. Прикрепил к нему несколько АудоСорсов, у каждого свой клип. А как их адресовать-идентифицировать?

Код:

public AudioClip[] clipCollection;
void BlaBla()
{
  for(int i=0;i<clipCollection.Length;i++)
      {
        AudioSource source=gameObject.AddComponent<AudioSource>();
        source.clip=clipCollection[i];
        source.Play();
        Destroy(source,clipCollection[i].length);
      }
}


RegIon 12.02.2013 20:50

Ответ: Вопросы от новичка
 
Цитата:

Как обычно делают меню? Каждый раздел меню в одном скрипте или в разных?
Обычно я главное меню, опции, хелп и др. разделял на разные скрипты. И если эти разделы довольно сложные, то лучше так и делать.
Но сейчас я рисую меню не просто по центру, а задаю area. И прописывать координаты этой области в каждом скрипте не очень хочется, чтобы при их смене не переписывать все скрипты.
Как тут лучше будет?
Запилил GUISkin с фиксированными размерами и расставил в OnGUI, не? я аж один цикл сделал) . Использовал отступ снизу и текст из массива, нажатия тоже в массив кидал, типо :
Код:

void OnGUI()
{
GUI.skin = GSkin;
for(int i;i<meny.lenght;i++)
  {
    Rect rct = new Rect(40,Screen.width - 2*i*/забыл как из скина читать переменные/*,0,0);
    buttton[i].click = GUI.Button(rct,button.text[i]);
  }
}


seaman 12.02.2013 21:12

Ответ: Вопросы от новичка
 
Левша09
>Подскажите пожалуйста что не так делаю
А что не так?

WISHMASTER35 12.02.2013 21:32

Ответ: Вопросы от новичка
 
pax, я думаю лучше будет сделать скрипт MenuManager, который будет задавать шрифт, рисовать фон. И сделать класс AbstractMenu, и наследовать от этого класса свои разделы меню. А MenuManager пусть имеет ссылку на текущее меню и рисует его.

Кто-то пользовался яндекс диском? Почему не русскоязычные пользователи не могут от туда скачать? Мне сегодня несколько сообщений, что не могут зарегистрироваться там.

Левша09 12.02.2013 22:41

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от seaman (Сообщение 252554)
Левша09
>Подскажите пожалуйста что не так делаю
А что не так?

Скрипт не срабатывает.
Добавил боксу Rigidbody, вроде стало как надо.

Okay 12.02.2013 23:43

Ответ: Вопросы от новичка
 
Цитата:

System.NullReferenceException:
at (wrapper managed-to-native) UnityEngine.Component:GetComponent (System.Type)
at UnityEngine.Component.GetComponent[TextMesh] () [0x00000] in C:\BuildAgent\work\812c4f5049264fad\Runtime\Export Generated\Editor\UnityEngineComponent.cs:132
at setconnect+<Start>c__AnonStorey3.<>m__0 (PlayerIOClient.Client client) [0x0000a] in C:\Users\User\Downloads\Player.IO\Unity3D\Example - Multiplayer - Mushrooms\Unity3D\Assets\Scripts\setconnect.cs:57
at PlayerIOClient.PlayerIO+<>c__DisplayClass3.<Connec t>b__2 (PlayerIOClient.Internal.identifier12 result) [0x00000] in <filename unknown>:0
at PlayerIOClient.Internal.identifier5+identifier418. <Connect>b__2 (PlayerIOClient.Internal.identifier12 returnValue) [0x00000] in <filename unknown>:0
at PlayerIOClient.Internal.identifier5+identifier414+ identifier415[PlayerIOClient.Internal.identifier5+identifier6,Pl ayerIOClient.Internal.identifier5+identifier12,Pla yerIOClient.PlayerIOError].MoveNext () [0x00000] in <filename unknown>:0
UnityEngine.Debug:LogError(Object)
PlayerIOClient.Internal.identifier415:MoveNext()
Что вот это может значить? Не дает коннектиться к серверу из-за этой ошибки
Вот сам код
Код:

target.transform.Find("NameTag").GetComponent<TextMesh>().text = userid;

Okay 12.02.2013 23:49

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от seaman (Сообщение 252455)
А что за ругань - прочитать можете? Там же все написано.
Юнити не может найти GameManager. Либо он не так пишется, либо он написан на другом языке (C#/JS) и следовательно его нужно поместить в нужную папку (Plugins). Либо он в какой-то dll/namespace, которую нужно подключить явно, используя using.

Вопрос не актуален, но вы не правы. Я сам понимал, что он не находит скрипт. Был скрипт AnimationC.cs , в нем было написано точно так же. С тем скриптом ошибок не возникало. В моем возникает, хотя все скрипты написаны на C#.
Проблему решил. Переименовал скрипты.

WISHMASTER35 13.02.2013 00:39

Ответ: Вопросы от новичка
 
Кажется когда-то спрашивал как нарисовать несколько кнопок с одинаковой шириной.
Вот так
Код:

GUILayout.BeginHorizontal();
{
        //paint
}
GUILayout.FlexibleSpace();
GUILayout.EndHorizontal();

Ширина всех элементов получается равной ширине максимального.
Но как сделать, чтобы их ширина была немного больше? Только GUIStyle править?

seaman 13.02.2013 02:28

Ответ: Вопросы от новичка
 
Цитата:

Проблему решил. Переименовал скрипты.
Значит я прав: "Либо он не так пишется,"
Скорее всего где то вместо английской o (или a) была русская. Иначе переименование не помогло бы.

Okay 13.02.2013 02:48

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от seaman (Сообщение 252587)
Значит я прав: "Либо он не так пишется,"
Скорее всего где то вместо английской o (или a) была русская. Иначе переименование не помогло бы.

Нет. Почему-то в другом скрипте, из которого я четко скопипастил - работало все без ошибок. А в моем нет. Тут уже

WISHMASTER35 13.02.2013 23:59

Ответ: Вопросы от новичка
 
А для того, чтобы метод принимал ссылку на метод обязательно нужно создавать глобальную переменную delegate?

Okay 14.02.2013 00:31

Ответ: Вопросы от новичка
 
Кто знает, почему в редакторе одно, а при компиляции другое?
Вот допустим в редакторе я могу управлять анимациями, а в скомпилированной игре как будто ничего и не было. Одна модель и ландшафт

WISHMASTER35 14.02.2013 00:44

Ответ: Вопросы от новичка
 
Okay, у всех анимация работала, а у тебя нет. Не странно ли? Выложи код чтоли.

Okay 14.02.2013 01:47

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от WISHMASTER35 (Сообщение 252691)
Okay, у всех анимация работала, а у тебя нет. Не странно ли? Выложи код чтоли.

Ты не понял. Значит у меня есть проект в Unity. Если же этот проект запустить в редакторе, то анимация воспроизводится. А если скомпилировать и запустить скомпилированную игру, то анимация не воспроизводится. С чем это может быть связано?

WISHMASTER35 14.02.2013 02:26

Ответ: Вопросы от новичка
 
Okay, только один проект так лажит? Все анимации в проекте лажат?
Попробуй пересоздать проект?

pax 14.02.2013 09:22

Ответ: Вопросы от новичка
 
Цитата:

Сообщение от WISHMASTER35 (Сообщение 252678)
А для того, чтобы метод принимал ссылку на метод обязательно нужно создавать глобальную переменную delegate?

Есть System.Action и System.Action<T> например.

Цитата:

Сообщение от Okay (Сообщение 252689)
Кто знает, почему в редакторе одно, а при компиляции другое?
Вот допустим в редакторе я могу управлять анимациями, а в скомпилированной игре как будто ничего и не было. Одна модель и ландшафт

В билд попадает та же сцена? Лог смотрел?

Okay 14.02.2013 12:28

Ответ: Вопросы от новичка
 
Цитата:

В билд попадает та же сцена? Лог смотрел?
Сцена в билд попадает. в output_log пишет постоянно
Цитата:

Platform assembly: C:\Users\User\Desktop\(4)~1\woz_Data\Managed\Syste m.dll (this message is harmless)
NullReferenceException: Object reference not set to an instance of an object
at setconnect.Update () [0x00000] in <filename unknown>:0

(Filename: Line: -1)
Только проблема в том, что непонятно где ошибка. у меня в скрипте 300+ строк
В основном почти все в update
http://pastebin.ru/wRUM1sOF

pax 14.02.2013 14:58

Ответ: Вопросы от новичка
 
А нет ли каких-то объектов, помеченных тэгом EditorOnly?

WISHMASTER35 14.02.2013 17:52

Ответ: Вопросы от новичка
 
Не пойму как в Box'е текст рисуется немного со смещением от края?
Ведь GUI.skin.box.contentOffset равен (0,0).
UPDATE
За это padding отвечает. Хотя там еще есть переменные для смещения.

pax, а в чем разница между делегатами и System.Action? Второе выглядит намного удобнее.

seaman 14.02.2013 21:38

Ответ: Вопросы от новичка
 
System.Action - это делегат. Так что вопрос странный. Ни в чем нет разницы. System.Action - сокращение определенного делегата.

WISHMASTER35 14.02.2013 22:18

Ответ: Вопросы от новичка
 
seaman, раньше я создавал глобальную ссылку public delegate f(), что было не так удобно.


Часовой пояс GMT +4, время: 10:24.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Перевод: zCarot