ZZZ77
1
Hi!
I have a multiple sprite.

I’m trying to load each sprite separately via script.
void OnLevelWasLoaded(int level)
{
Sprite[] sprites = Resources.LoadAll<Sprite>(@"Graphics/levelsSelection");
double step = 1.0 / sprites.Length;
double offset = step;
foreach(var sprite in sprites)
{
var button = new GameObject("Button");
button.AddComponent(typeof(GUITexture));
button.transform.position = new Vector3(0.5f, (float)offset);
button.guiTexture.texture = sprite.texture;
offset += step;
}
}
But that’s what I got as a result.

What I do wrong? Why sprites turned out not separated? How to fix it?
Thanks to any one who can help me!
P.S. Please sorry for possible mistakes - english is not my native language.
ZZZ77
2
OK. I solved this problem.
The hint - how to fix it - I found here:
In my situation the correct code is:
void OnLevelWasLoaded(int level)
{
Sprite[] sprites = Resources.LoadAll<Sprite>(@"Graphics/levelsSelection");
double step = 1.0 / sprites.Length;
double offset = step;
foreach(var sprite in sprites)
{
var button = new GameObject("Button");
button.AddComponent(typeof(SpriteRenderer));
button.transform.position = new Vector3(0.5f, (float)offset);
var renderer = button.GetComponent<SpriteRenderer>();
renderer.sprite = sprite;
offset += step;
}
}