У меня есть проблема ...Unity3D - Проблемы после перезагрузки сцены через Application.LoadLevel
Есть четыре сцены в моей игре: вводная сцена, сцена для выбора игроков, реальная игра сцена, и игра над сценой.
Я бегу в проблемы, когда я загружаю свою фактическую игровую сцену дополнительные времена
Application.LoadLevel("Let's play the game!")
Это, как я покидаю эту сцену:
if(GUI.Button (new Rect (x, y, w, h), "Quit", buttonStyle))
{
Application.Quit();
Application.LoadLevel("Opening Screen");
}
Когда я загружаю мой желаемый уровень во второй раз , камера должна следовать за первым игроком. Этого не происходит. Я предоставляю возможность «перезапускать», что позволит решить эту проблему, но я не хочу, чтобы это событие происходило в первую очередь.
Более серьезные проблемы с GameObjects, которые были динамически загружены. Я получаю «GameObject» был уничтожен, но вы все еще пытаетесь получить к нему доступ ». Я не уверен, откуда это происходит, поскольку я не вижу, где я раньше назывался «Destroy». Кроме того, объекты, динамически созданные, появляются в иерархии, когда я запускаю приложение внутри Unity.
Я думаю, что корень моей проблемы заключается в неисправной камере, но я не уверен, как подойти к ее фиксации.
У кого-нибудь есть рекомендации?
Да, удалите Application.Quit(); Это фактически закроет вашу игру за пределами редактора Unity. – 2013-03-17 08:12:31
Вы, ребята, быстры! Спасибо за предупреждение относительно Application.Quit(). Я начал комментировать кучу исходного кода и изолировал свою проблему. Моя камера GameObject связана со сценарием, который терпит неудачу, когда нужный уровень перезагружается. По-видимому, эта ошибка вызвала эффект поезда на всем уровне. –
Я все исправил. Мне удалось найти несколько областей, в которых отсутствует проверка на объектах. Это устранение «GameObject» было уничтожено, но вы все еще пытаетесь получить к нему доступ ». Что касается камеры, у меня есть вопрос: звонки в GUI. * Ограничены только внутри OnGUI()? Я делаю вызовы внутри OnGUI(), который ссылается на GUI.Button, GUI.Labels и т. Д. Когда все вызовы GUI. * Были сделаны внутри OnGUI(), камера аномально исчезла. –