2015-10-22 6 views
1

Я разрабатываю плагин, управляемый Unity. В настоящий момент dll отлично работает, когда я хочу использовать встроенные ресурсы, например изображения, Texture2D не загружает байты. Кто-нибудь сталкивался с такой же ситуацией?Unity текстурные изображения как встроенный ресурс

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

try 
    { 
     System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly(); 
     System.IO.Stream myStream = myAssembly.GetManifestResourceStream("QBoard"); 
     img = ReadFully (myStream); 
     print(img.Length); 

    } 
    catch 
    { 
     print("Error accessing resources!"); 
    } 

Однако, когда я хочу, чтобы загрузить изображение, вытекающие из библиотеки DLL:

questionTexture.LoadImage(img); 
GUI.Box (new Rect (dWidth/2-50, dHeight/2-50,200,50),new 
GUIContent(qlist.text,questionTexture)); 

в результате получается следующая ошибка в тестовом проекте в редакторе Unity:

NullReferenceException: Object reference not set to an instance of an object

ответ

0

Решено. Это была ошибка при инициализации переменных. Работает следующий код:

try 
{ 
System.Reflection.Assembly myAssembly = System.Reflection.Assembly.GetExecutingAssembly(); 
     System.IO.Stream myStream = myAssembly.GetManifestResourceStream("QBoard"); 
     img = ReadFully (myStream); 

    } 
    catch 
    { 
     print("Error accessing resources!"); 
    } 

    Texture2D myTexture = new Texture2D(2, 2); 
    myTexture.LoadImage(img); 

    GUI.Box (new Rect (dWidth/2-50, dHeight/2-50,200,50),new GUIContent(myObject.text,myTexture));