- Home /
Loading sets of images into arrays using Resources subfolders and string.Format
Hello,
Basically what I have working now is a set of images in the Resources folder, named "frame0001", "frame0002" and so on. This I can load into a Texture2D array with no problem using the syntax:
for (int i = 0; i < numberOfFrames; ++i)
frames[i] = (Texture2D) Resources.Load(string.Format("frame{0:d4}", i + 1));
What I want to do, is to make a couple of subfolders in the Resources folder, say Panel_1 and Panel_2, put sets of images in each, and load them into the array selectively. I can't get the syntax to work however, needing to specify both a path and string.Format in the argument. I'm thinking something like this:
if (panelWanted == "Panel_1")
for (int i = 0; i < numberOfFrames; ++i)
frames[i] = (Texture2D)Resources.Load("Panel_1" + string.Format("frame{0:d4}", i + 1));
else if (panelWanted == "Panel_2")
for (int i = 0; i < numberOfFrames; ++i)
frames[i] = (Texture2D)Resources.Load("Panel_2" + string.Format("frame{0:d4}", i + 1));
I also tried using Resources.LoadAll in various shape and forms such as:
frames = (Texture2D)Resources.LoadAll("Panel_2");
but I keep getting errors like:
Cannot convert type
UnityEngine.Object[]' to
UnityEngine.Texture2D'
I'm sure there's an easy solution but I just can't figure out the correct syntax. Any help is appreciated.
Answer by MacDx · Sep 04, 2017 at 11:38 PM
You should try using the generic version of the Resources.Load method, the one with the form Resources.Load(path). Ignore those quotation marks :P
Also I think you are missing a backslash "/" in your path. The backslash means you are accessing a subfolder in the resources folder. The path should be:
"Panel_1/" + string.Format(blabla, i + 1)
and the same for Panel_2
Your answer
Follow this Question
Related Questions
Loading Resources in a Native Plugin 0 Answers
Instanciate gameobject from Resources subfolder 1 Answer
Interact with objects from Resources.Load 3 Answers
[solved]Using WWW instead of resources.load causes hang 1 Answer
Performance of Resources.Load vs Direct Reference vs Resources.LoadAsync for large level assets 1 Answer