Hi!
I’m at a point in my game’s development where I want a HUD. So I’m currently looking around at alternatives. tonegodGUI seems nice from the few random forum posts I’ve read about it, but I have a hard time understanding how to use it.
I don’t want to sound whiny. I can understand writing documentation is not all that fun. But as a newcomer I want to provide my experience, and hopefully get some answers.
I found this site: https://wiki.jmonkeyengine.org/legacy/doku.php/jme3:contributions:tonegodgui But I’m left with a lot of questions. What I would like to have is some kind of overview of how everything fits together. So I check “Quick Start Guide” on the aforementioned page.
“Step 1: Creating the Screen Control”
What is a screen, and what is a control? Without knowing those things the rest of the guide means little to me.
So I see this page called “Core Components - The Screen Class”, sounds promising. It says: “You can create a screen using one of the two provided constructors as shown in the Quick Start Guide.” Hm, didn’t really help.
“The Element Class” - seems important. Let’s see if I can gain some insight there.
“All controls are extensions of the Element class…” Ok, but still don’t know what a control is. The above quote kind of makes me think that everything is a control, but I’m not sure. Seems like a stange name, since I guess that there are containers, plain labels, etc. Why are they called controls? The name “components” would make more sense if everything is one. Controls sounds like something with more functionality.
Ok, what else is there on this page.
"Components
Buttons: …
List-based Controls: …
Text Controls: …
Menus: …
Scrolling: …
Windowing: …"
Ok, so everything is a component? That leads me to believe that maybe everything is not a control. Strangely, the only subgroups of the components that are called controls here are “List-based Controls” and “Text Controls”. Seems a bit arbitrary.
Ok, let’s try to figure out how to do something concrete that I know I want: a chat window. It’s going to contain text. So maybe I should use labels and text fields. The section about labels does not exist. Bummer. How about text fields?
“Textfields are single line text input fields.”
This is what I’m talking about! I actually understand what they are.
Ok, I see this thing called Chat Control. “You’ve followed a link to a topic that doesn’t exist yet.” Ok. But let’s try to guess what a chat control is. My best guess is that it’s a ready-made chat window, with an input field and scoll bar, but I don’t know.
It would be great if there was a high-level introduction. It doesn’t have to be long and it doesn’t have to contain code. It could have things like a 3-sentence description of what controls are. It could say things like “for example, if you want to make a chat, you make a Window, Drop a TextField in there, and for every new chat message, add a Label.” (Or something like that, I’m just guessing.) And describe how to to make something Drag-and-droppable, or just clickable. I’ve been hopping around for hours and I still don’t understand what a control is.