- Home /
ScrollView: scroll bar on left side instead of right?
I'm trying to create an inventory system where the scroll bar is on the left instead of the right of the GUI. I've have the inventory system, so I'm find with that, all I need now is to shift the scroll bar (for aesthetics sake).
I've fiddled around with different variables and searched many boards but have come up with nothing to being able to switch the scroll bar to the left. Any help is appreciated!
Answer by JNetRocks1316 · Jan 01, 2014 at 04:15 PM
There is no way of doing it directly, but an easy work around is to create two scroll view areas, one with just a bar, and the other with the content and the bar hidden (you'll need to apply a style to hide the bar on it).
For this method, keep in mind that your two scroll areas need to be at the same height and the scroll views also need to be the same height.
//Create a variable to hold the position of the scroll view.
private Vector2 scrollPosition = new Vector2(0, 0);
public GUIStyle myStyle; //Set this in the inspector, or leave blank to just remove the scroll bar for your second box.
void OnGUI(){
//Create the scrollbar on the left side with no content in it.
GUI.BeginScrollView(new Rect(0, 0, 30, 800), scrollPosition, new Rect(0, 0, 10, 800);
GUI.EndScrollView();
//Create the second scrollview with the content in it.
GUI.BeginScrollView(new Rect(50, 0, 300, 800), scrollPosition, new Rect(0, 0, 300, 1000), myStyle, myStyle);
//Add your GUIContent here.
GUI.EndScrollView();
}
void Update(){
//Control the scrollPosition via your method of choice.
//Example using mouse wheel to scroll up and down:
if(Input.GetAxis ("Mouse ScrollWheel") > 0)
scrollPosition.y -= 10;
if(Input.GetAxis ("Mouse ScrollWheel") < 0)
scrollPosition.y += 10;
}
Your answer
Follow this Question
Related Questions
A node in a childnode? 1 Answer
Terrain view distance? 1 Answer
How to make a downloading bar? 0 Answers
Unity3d GUI Scroll view 1 Answer
Camera looking at players face 2 Answers