Well, I've been working on this the past couple days and I'm now ready to release an alpha version of my latest plugin: Sprite Button!
[size=150:24r0zc6b]Sprite Button Plugin - v0.9b[/size:24r0zc6b]
[size=125:24r0zc6b]Download Now(with example) - 132KB
Specify the three main faces for your button: Default, hovering, and clicked.
Add text to your buttons with options such as font, size, color, position, and offset.
Button icons allow you to assign your buttons -- unique objects only, copies will all have the same icon -- specialized icons, with options for positioning and offset.
Identifiers allow you to differentiate between copies of one button type. For example: You have three buttons of the same type with unique identifiers, "New", "Save", and "Load". Using the "Button clicked by ID" condition, you can check copies of buttons independently and have them do different things.
You can also use the "Button identifier" expression to retrieve the identifier of the currently clicked button. This identifier can be used in tandem with the function object to call functions with the same name as the button identifier.
Those are the main features for now. This is currently designated an alpha since I don't have all of the features in yet. Plans for the plugin include support for two state buttons, check boxes, and radio buttons, the latter of which should be pretty intuitive to use.
Unfortunately I don't have time at the moment to pull together a proper example, but it's all rather intuitive and shouldn't be too hard to pick up.
As with my other plugins, be sure to post with your thoughts about the plugin, feature requests, and any bugs you stumble across. Have fun!