我正在尝试在运行时更改2D字符的元素。我使用了下面的代码,它似乎根本没有改变字符的精灵。没有错误或其他任何变化,但物理精灵没有改变。我已经使用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
检查器中的CharacterApperance:http://prntscr.com/nbvh7w
检查器中的库存面板:http://prntscr.com/nbvhlr
谢谢所有帮助的人:)