Я создал простое приложение Unity, которое позволяет загружать разные сцены, загруженные из Интернета. Он отлично работает, если сцена не содержит скриптов. Если есть сценарий связан с GameObject он терпит неудачу с ошибкой:Скрипты в сценах, загружаемых через Application.LoadLevel, не работают
The class defined in script file named 'XXX' does not match the file name!
Если эта сцена запускается как отдельный скрипт приложения работает без каких-либо проблем, но если эта сцена сохраняется через BuildPipeline.BuildStreamedSceneAssetBundle я получил описано ошибка.
загружаю сцены с помощью простого кода:
WWW www = new WWW("file://" + file);
yield return www;
loadedBundle = www.assetBundle;
Application.LoadLevel(name);
Основной сценарий остается в сцене, потому что я называю DontDestroyOnLoad для него.
Я проверил этот сценарий с помощью Unity3D 3.5.0 и 3.5.1
Где я делаю ошибку?
Большое спасибо.
Уверены ли вы? В [документации] (http://docs.unity3d.com/Documentation/Manual/scriptsinassetbundles.html) говорится, что все в порядке включать скрипты в пакеты, за исключением iOS (из-за ограничений Apple). –
Я уверен. Вы можете включить скрипт, но только как байтовый код. Проверьте мой другой вопрос: http://stackoverflow.com/questions/10808033/how-to-compile-unity3d-script-to-include-it-to-assetbundle –