in my last game I used LUI for the GUI. It seems to be abandoned. So I tried to write the gui new in DirectGUI but ran in many, many issues. So this time I decided to make my own. I started to create a 3D-GUI only with some new classes using only panda3d and python classes and functions. I just started and don’t have many time. So up to know it has a horizontal-align, vertical align and two different objects to put in: One class I called “multichoice”. This has the function of a radiobutton but only shows one option at once and changes the one shown when it is clicked and another one which I called “optionname” which starts any given function from any other object.
I will create some more classes which depends on what I need for my game and how other people are interested in this. If there are many people interested, I will be happy to share the source.
The picture was created using this commands:
self.settingsMenu=optionGui(self.camera,10) #10 being the distance from the camera to the menu verticalAlign=self.settingsMenu.addVerticalAlign(0,0) self.start_game=verticalAlign.addClickableOption("Spiel starten",self,"endOptions") self.number_of_players=verticalAlign.addChangeOption(["1 Spieler","2 Spieler","3 Spieler","4 Spieler"]) self.settingsMenu.startColTask()
That the letters/characters are sort of bouncing around is on purpose. You can turn this on and off. By default it is turned on, i called it “whacky”(when turned off all letters are written without being turned around at random). The characters are taken from eggfiles I made one eggfile for each number and letter. So this writes any word in 3D for any of my menu-objects. The menu-option the mouse points to is highlighted by a frame which is also an egg-file.