2015-05-06 10 views
1

Я использую iTween много, и это было нормально для большинства времени до вчерашнего дня, я получаю и ошибку вдруг:unity5 - ITween Null Ссылка

NullReferenceException: Object reference not set to an instance of an object iTween.RetrieveArgs() (at Assets/Plugins/Pixelplacement/iTween/iTween.cs:6811) iTween.Awake() (at Assets/Plugins/Pixelplacement/iTween/iTween.cs:6559) UnityEngine.Object:Instantiate(Object, Vector3, Quaternion)

Первоначально каждый раз, когда я начинаю игру, я получаю 320 вызовов этих ошибок, но позже он накапливается до 720 и теперь 999+. Я не уверен, почему он накапливается, хотя я начинаю игру с нуля все вместе. Любое предложение?

UPDATE:

к простираться, я считаю, что это происходит из-за Sourcetree, что я использую для управления версиями. Я считаю, что это как-то испортило мета-файл или заставило единство иметь какой-то конфликт внутри, глядя на iTween.cs.

+0

Поскольку существуют различные возможные версии iTween (с разными номерами строк), можете ли вы опубликовать код, где происходит NullReferenceException? –

+0

Я загружаю последнюю версию и все еще ту же проблему, это строка 6811: 'id = (string) tweenArguments [" id "];' и это строка 6559: 'RetrieveArgs();' и мой код, который затронул: ' GameObject instance2 = (GameObject) Instantiate (manprefab, новый Vector3 (j * 3f, 50f, 0f), Quaternion.Euler (0, 0, 0)); ', который не имеет никакого отношения к' iTween'. – sooon

+0

Подождите, что означает «мой код, который повлиял»? Какова именно связь между этой ошибкой и этой строкой вашего кода? –

ответ

0

Порядок выполнение сценария в единстве может быть проблемой. У меня была эта проблема дней назад, и решение было пойти в

Редактировать ->Настройки проекта ->Script Execution Order

затем положить сценарий, который был доступ из iTween.cs: 6559 для запуска в первую очередь. Я получал ту же ошибку случайным образом, но они больше появлялись, когда я это делал. Надеюсь, это решит вашу проблему.

+0

Можете ли вы привести более подробный пример? – sooon

+0

Ошибка исходит от iTween.cs. Какую функцию/класс вызывается, откуда эта ошибка. Если ошибка исходит от Assets/Plugins/Pixelplacement/iTween/iTween.cs: 6811? Откройте этот код iTween и перейдите к строке 6811. Найдите функцию, которая была вызвана из этой строки. Если fuction является DoSomething.exit(), то вы знаете, что DoSomething - это имя класса. Перейдите в Edit-> Project Settings-> Script Execution Order и сделайте класс DoSomething первым скриптом в порядке выполнения. Сделайте то же самое с активами/плагинами/Pixelplacement/iTween/iTween.cs: 6559 – Programmer

+0

Я просто попробовал и, похоже, стоил больше проблем. Я считаю, что он имеет отношение к данным .meta, так как он накапливается даже после перезапуска 'Unity3d'. – sooon

1

У меня была такая же ошибка. Я узнал, что с помощью некоторой ошибки в iTween она динамически добавила несколько компонентов сценария iTween к одному из моих сборников. Как только я удалил их, мои ошибки исчезли.

Я предлагаю вам пройти через ваши префабы

+0

Отредактировал свой ответ, немного для уточнения. –

0

Я не уверен, был ли я по той же причине для ошибки, но это, как я решил.

Объекты, в которых я работал, были на сцене. Когда я убедился, что ссылки, которые я использовал для вызова новых экземпляров, были из сборника, а не ссылок на объекты в сцене - он работал.