我可以改变2D角色的皮肤,但我遇到了一个问题
精灵加载是这样的
private void LoadResources()
{
_faces = Resources.LoadAll<Sprite>(@"Rogue/Rogue_face");
_hoods = Resources.LoadAll<Sprite>(@"Rogue/Rogue_hood");
_elbowsLeft = Resources.LoadAll<Sprite>(@"Rogue/Rogue_elbow_l");
_elbowsRight = Resources.LoadAll<Sprite>(@"Rogue/Rogue_elbow_r");
_shouldersLeft = Resources.LoadAll<Sprite>(@"Rogue/Rogue_shoulder_l");
_shouldersRight = Resources.LoadAll<Sprite>(@"Rogue/Rogue_shoulder_r");
_wristsLeft = Resources.LoadAll<Sprite>(@"Rogue/Rogue_wrist_l");
_wristsRight = Resources.LoadAll<Sprite>(@"Rogue/Rogue_wrist_r");
_torsos = Resources.LoadAll<Sprite>(@"Rogue/Rogue_torso");
_pelvises = Resources.LoadAll<Sprite>(@"Rogue/Rogue_pelvis");
_legsLeft = Resources.LoadAll<Sprite>(@"Rogue/Rogue_leg_l");
_legsRight = Resources.LoadAll<Sprite>(@"Rogue/Rogue_leg_r");
_bootsLeft = Resources.LoadAll<Sprite>(@"Rogue/Rogue_boot_l");
_bootsRight = Resources.LoadAll<Sprite>(@"Rogue/Rogue_boot_r");
}
看起来很麻烦,很难理解
我想得到这样的东西,我怎么实现它?
_spritesPaths = new Dictionary<Sprite[], string>()
{
{_faces, "Rogue_face"},
{_hoods, "Rogue_hood"},
{_elbowsLeft, "Rogue_elbow_l"},
{_elbowsRight, "Rogue_elbow_r"},
{_shouldersLeft, "Rogue_shoulder_l"},
{_shouldersRight, "Rogue_shoulder_r"},
{_wristsLeft, "Rogue_wrist_l"},
{_wristsRight, "Rogue_wrist_r"},
{_torsos, "Rogue_torso"},
{_pelvises, "Rogue_pelvis"},
{_legsLeft, "Rogue_leg_l"},
{_legsRight, "Rogue_leg_r"},
{_bootsLeft, "Rogue_boot_l"},
{_bootsRight, "Rogue_boot_r"}
};
private void LoadResources()
{
foreach (var pair in _spritesPaths)
pair.Key = Resources.LoadAll<Sprite>($@"Rogue/{pair.Value}"); //this does not work
}
提前感谢!
您尝试过字符串添加吗?
pair.Key = Resources.LoadAll<Sprite>("Rogue/" + pair.Value);