best guilib for games, not apps

Blitz3D Forums/Blitz3D Userlibs/best guilib for games, not apps

The forum is locked. These are the original blitzbasic.com forums, kept so they can still be read. No new topics, replies or edits can be made here. To join in, head over to the Blitz3D+ forums.

"I also use a lot of functions and as the GUI objects are referenced by a type, I have to declare a GUI object as a global in order to get at it within a function (or am I missing something here? - I do have an aversion to types)"


I don't really understand the question.

Of course you have to declare them as global if you create them outside a function, or in a function, and want to access them from inside function. There is no way around that. How else would you access them?

If you do this:

Function Blah()
    MySprite.whatever = GUI_Functionblah()
End function


Then you have created a gui object, bue the variable you use to reference is is only accessable from within that function. It doesn't matter whether I used types or whether I return an index into an array. You still won't have that data outside the function.

Now, if you have a sepcial case and you want to get that data from in the function without a global variable, and yuou only need one value, then you can do this:

ThisSprite.whatever = Blah()

Function Blah.whatever()
    MySprite.whatever = GUI_Functionblah()
End function



There's nothing wrong with how I coded my GUI system. :-)


As for drop down lists, buttons, and other GUI elements that you can easily create with the supplied functions, I chose not to code those for you because there's too many different ways people might want them to look and behave.

And there is no gui editor because most of the look of a gui like this is defined by the graphics you stick on the sprites. I'm not going to force you to load your art a certain way, and there's too many options for how you might want things to move or animate anyway.

I design my systems for maximum flexibility. No useless stuff most people won't use because it does not fit their needs exactly. :-)