我让换一个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
}提前感谢!
发布于 2022-06-18 21:38:21
你试过字符串加法了吗?
pair.Key = Resources.LoadAll<Sprite>("Rogue/" + pair.Value);https://stackoverflow.com/questions/72671007
复制相似问题