- Home /
Question by
Skibur-2 · Sep 10, 2011 at 03:11 AM ·
guiscrollviewscrollthumb
Unable to move scrollbar
Hi,
I've just added a scroll view to my load level screen. Everything looks right and the bar appears when there's enough files to fill up the window, but I just seem to be unable to click it and move it. The scroll wheel isn't moving it either...
Here's a screenshot of it:
Here's some code:
function OnGUI () {
if (load == true) {
files = Directory.GetFiles(Application.dataPath + "/Levels/");
fileCount = Directory.GetFiles(Application.dataPath + "/Levels/").Length;
GameObject.Find("Main Camera").GetComponent("cameraMove").enabled = false;
GUI.Window(0, Rect((Screen.width / 2) - (windowWidth / 2), (Screen.height / 2) - (windowHeight / 2), windowWidth, windowHeight), LoadButtons, "Select a saved game");
}
}
function LoadButtons (id : int) {
var scrollVec : Vector2 = new Vector2();
GUILayout.BeginArea(Rect(4, 20, 185, 150));
scrollVec = GUILayout.BeginScrollView(scrollVec);
for (var file : String in files)
if (GUILayout.Button(Path.GetFileNameWithoutExtension(file))) {
levelToLoad = Path.GetFileName(file);
LevelSelected ();
gridBehaviour.gridClicked = false;
}
GUILayout.EndScrollView();
GUILayout.EndArea();
if (GUI.Button (Rect (10,175,170,20),"Cancel")) {
load = false;
GameObject.Find("Main Camera").GetComponent("cameraMove").enabled = true;
}
}
This is the last hurdle I face for my little editor, and it's such a silly one... Any help would be greatly appreciated :)
Comment
Best Answer
Answer by Arshia001 · Sep 10, 2011 at 09:40 AM
I think the problem is that scrollVec (which is the vector that's supposed to store the scroll bar's position between frames) is being initialized every frame. Try moving its declaration outside your function and see what happens.
Thank you so much... That fixed it! :D
Really appreciate it!