Skip to main content
GameDev.net gamedev.net
🔒 Locked

I present: SFML SimpleGUI v1.0

Started by superman3275 Sep 30, 2012 at 8:03 PM 3 replies 2.1k views
Original Post
superman3275
superman3275
Hey guys, since I made pong I've been trying to make breakout, but I ran into problems with making a GUI. After a lot of thinking I decided to just make my own Set of Re-Usable classes for Render_Buttons's, Render_Menu's, and Render_Objects (So much more to be added, I've only had today to work on this!), all classes are easily customizable, of course. (Render_Object is there to establish a base for Render_Menu's and other parts of the GUI). It hasn't been completely tested yet, but fixing any bugs should be pretty easy for even a beginner to SFML. I'm having it autoupdate too!
DROPBOX DOWNLOAD (Download GUI_FRAMEWORK Folder)

This was just for personal use for me, but I figured why not let other beginners have it, so they don't have to figure this out themselves. I'll try to update it at least once a week with new features, but I'm hard at work on other games too right now.
Goran Milovanovic
Goran Milovanovic
I think this thread belongs in the "Your Announcements" forum, but anyway:

If you want to present something that others will actually want to use, you need to start with good documentation. Without that, I doubt that anyone will even take a look at it.

Also, you should host your project on a service like github, which was designed for that.
+---------------------------------------------------------------------+ | Game Dev video tutorials  ->   http://www.youtube.com/goranmilovano | +-------------------------------------
EngineProgrammer
EngineProgrammer
Well I'm taking a look at it hehe. smile.png
Just started looking at your Render_Button class.

If you use "using namespace sf" you don't need to put the 'fs::' infront of each fs function. wink.png
Also when you start with animations there are some times you want to 'update' your Button.
Example: http://www.yasudastu...ttonBlueWM1.gif

so just call it: class Button. Render_Button seems like the button only can render. but has no actions. smile.png Naming classes is a hard part for me also laugh.png

My Button looks something like this:
class Button
{
public:
Button(int posX, int posY);
Button(Image& image, int posX, int posY);
~Button();

void Update();
void Draw();
bool IsHit(); // returns true if you hover your mouse over the button
bool IsPressed(); // returns true if you pressed with your left mouse button on the button

private:
int m_PositionX, m_PositionY;
Image m_Image;
int m_AnimationSpeed; // this name is terrible xD
};


Your button class is decent! happy.png Features can be: rotating trough matrices, move in a formation, etc
I'm not going to look at your other classes, I don't have plenty of time left. smile.png


~EngineProgrammer
superman3275
superman3275
Thanks for the tips, I'll try GitHub and some Documentation, but there's only 3 actual classes with very few functions, so I doubt it's hard to understand, but I guess I should start documentation now.
EDIT: Visual C++ 2010 keeps button as a Restricted Classname, so I set it to Render_Button because I didn't want to come up with a good name, sorry ;)
irbaboon
irbaboon

Visual C++ 2010 keeps button as a Restricted Classname, so I set it to Render_Button because I didn't want to come up with a good name, sorry ;)

That's where namespaces and/or prefixes come in.
SFML has the "sf" namespace to not confuse things like class names.
You could, for example, make a namespace "sg" standing for "Simple GUI".

namespace sg {
class Button {

};
}

Or you could make a prefix.

class sgButton {

};

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.