simple game gui - 0.8.1
Simple, well integrated, fast, easy-to-use and easy-to-setup, gui system for pygame addressed to games mostly.
Canio Massimo Tristano
** IMPORTANT UPDATE **
This project is not under development anymore. Version 2 is in experimental phase and uses launchpad.net as a sharing and development platform for its making. Please feel free to join as you wish to the project (which is much more advanced than this old version).
You can find the official page at https://launchpad.net/simple-pygame-gui. Hope to see you there!
After evaluating different pygame gui systems, I finally decided that none was exactly the one I needed for my games, an easy-to-setup and to-use, fast, lightweight and well-integrated gui system.
The goal of this gui is to be extremely easy to use, and setup especially, and to be quickly and well integrated in any pygame game.
It's all contained in a py module: just import it and go!
Features implemented so far:
- No initialization needed. Just import and go.
- Style based GUI, to avoid to pass paremeters like font and font color everywhere, keeping your code compact and reusable
- Functions to create styles quickly (and not by hand).
- Optimizations to refresh your widget only when strictly needed.
- Desktop widget to contain all kinds of widgets, keeping them ordered correctly: if you add a button and a window to a desktop, the button will always be drawn UNDER the window.
- Label widget with autosizing and wordwrapping.
- Skinnable button widget with all kinds of statuses (normal, mouse-over, pressed and disabled).
- Skinnable (or vector) window widget with fast z-ordering. Just add it to your desktop widget, and it will do the rest. - Full-featured textbox widget, with flat or 3D appearence, automatic scrolling (singleline text so far but going to upgrade it soon).
- Skinnable ImageButton to create your personal button based on images (one for each status).
- Skinnable CheckBox and Optionbox.
- Customizable ListBox with mouse-wheel/keyboard scrolling.
Thanks for reading ;)
For any explanation/need, just send me an email, I'll be glad to help you. :)