Как исправить SpriteRenderers не меняется во время выполнения - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь изменить элемент 2-го символа во время выполнения.Я использовал приведенный ниже код, и он, похоже, не меняет спрайт персонажа вообще.Нет ошибок или что-нибудь, но физический спрайт не меняется.Я использовал Debug.Log, чтобы увидеть, вызваны ли методы (которые они есть).Я также включил несколько скриншотов, как это внутри инспектора.

Вот что у меня есть.

InventoryPanel.cs

public CharacterAppeance ca;


if (item.location == ItemLocation.Boot)//This is set in ItemData.ca
{
    ca.SetBoot(item.appaerance[0], item.appaerance[1]);
}

CharacterApperance.cs

public SpriteRenderer leg1ArmorRenderer;
public SpriteRenderer leg2ArmorRenderer;
public SpriteRenderer pelvisArmorRenderer;
public SpriteRenderer shin1ArmorRenderer;
public SpriteRenderer shin2ArmorRenderer;

public void SetBoot(Sprite leg, Sprite shin)
{
    leg1ArmorRenderer.sprite = leg;
    leg2ArmorRenderer.sprite = leg;
    shin1ArmorRenderer.sprite = shin; 
    shin2ArmorRenderer.sprite = shin;
}

ItemData.cs

public Sprite[] appaerance;

Данные элемента в Инспекторе: http://prntscr.com/nbvgj9

Символьный вход в Инспекторе: http://prntscr.com/nbvh7w

Панель инвентаризации в Инспекторе: http://prntscr.com/nbvhlr

Спасибо всем, кто помогает:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...