2016-02-15 1 views
1

У меня есть 64x64 текстуру дерева:Unity2D - перепутался спрайт, а экранный его из сценария

enter image description here

но выход дает мне это (черный испортил объект моего дерева)

enter image description here

Если я перетаскиваю спрайт в редактор, его визуализируется как предназначенный (с новым созданным игровым объектом). Но им, используя его через сценарий:

public Sprite treesIcon; 

SpriteRenderer sr; 

TileTypeHandler typeHandler; 

void Start() { 
    sr = GetComponent<SpriteRenderer>(); 
} 


void Update() { 
    switch(typeHandler.tileType) /// nevermind enum, its edited 
    { 
     case TileType.Woods: 
      { 
       sr.sprite = treesIcon; 
       break; 
      } 
    } 
} 

Пункт состоит в том, чтобы динамически изменять текстуры.

Может ли кто-нибудь объяснить мне такое поведение? Есть ли что-то, что мне не хватает в спрайтах и ​​текстурах? Как я могу это исправить?

+1

Можете ли вы опубликовать скриншот редактора (при запуске) «GameObject», у вас есть набор спрайтов. Я думаю, что это проблема с шейдером или альфа-каналом. – AntiHeadshot

+0

На самом деле вы были правы. Это была проблема с шейдером! Большое спасибо! –

ответ

1

Результат выглядит неправильно: SpriteRenderer: shader, поменяйте материал на Sprites-Default, и он должен работать.

Будете ли вы иметь цветные изображения, вы сразу увидите, что что-то не так, потому что они также будут черными.

+0

это случай. Я немного смутился, потому что я этого не заметил. –

+1

@BobT. Вам не обязательно. Почему вы думаете, что я знаю ответ ... потому что я сделал то же самое! – AntiHeadshot

Смежные вопросы