GUI.BeginGroup (new Rect (30, 117, 380, 280));
GUI.skin = craftSkin;
GUI.Box (new Rect (0, 0, 380, 280), "");
slider = GUI.VerticalSlider(new Rect(10, 10, 360, 260), slider, 10.0F, 0.0F);
GUI.TextField (new Rect (25, 10, 345, 20), "TEXT1");
GUI.TextField (new Rect (25, 10, 345, 20), "TEXT2");
GUI.TextField (new Rect (25, 10, 345, 20), "TEXT3");
GUI.TextField (new Rect (25, 10, 345, 20), "TEXT4");
GUI.EndGroup ();
I want to add TEXT2 after TEXT1 on Y axis etc… or when i remove TEXT2, TEXT3 get TEXT2 position, it must be dynamically add / remove by Y axis
Patico
2
Do you consider about using GUILayout instead of GUI?
Guess it’s better to use GUILayout rather than GUI - Unity - Scripting API: GUILayout
There’s a tutorial linked on that page as well.
Patico
4
Here is solution with GUI.
string[] texts = new string[] {"TEXT1", "TEXT2", "TEXT3", "TEXT4"};
float strokeHeight = 30;
for(int i = 0; i < texts.Lenght; i++)
{
GUI.TextField (new Rect (25, 10 + strokeHeight * i, 345, 20), texts[i]);
}
But in my opinion, GUILayout is more siutable for the such cases.
GUI.skin = craftSkin;
GUILayout.BeginArea (new Rect (30, 117, 380, 280));
GUILayout.Box ("", GUILayout.Width (380), GUILayout.Height (280));
GUILayout.BeginVertical();
GUILayout.TextField ("Text 1", GUILayout.Width (345), GUILayout.Height (20));
GUILayout.EndVertical();
GUILayout.EndArea ();
Nothing ;/ Text have to be in the box.
NVM, it’s working now, thanks for help ! 