.
Help with GUI
Blitz3D Forums/Blitz3D Programming/Help with GUI .
Write a function which does the following:
And simply call the function each time you wish to create
a button.
Ie NewButton("ButtonUp.jpg","ButtonOver.jpg",0,0,1,1) as an example..
Function NewButton(ImageName1$,ImageName2$,X#,Y#,Scalex#,ScaleY#)
Button.button_type=new button_type
Button\image1=LoadImage(ImageName1$)
Button\image2=LoadImage(ImageName2$)
Button\x#=x
Button\y#=y
Button\scalex#=ScaleX
Button\scaley#=ScaleY
Button\width#=ImageWidth(Button\image1)
Button\height#=ImageHeight(Button\image1
end function
And simply call the function each time you wish to create
a button.
Ie NewButton("ButtonUp.jpg","ButtonOver.jpg",0,0,1,1) as an example..
Function NewButton(ImageName1$,ImageName2$,X#,Y#,Scalex#,ScaleY#)
Button.button_type=new button_type
Button\image1=LoadImage(ImageName1$)
Button\image2=LoadImage(ImageName2$)
Button\x#=x
Button\y#=y
Button\scalex#=ScaleX
Button\scaley#=ScaleY
Button\width#=ImageWidth(Button\image1)
Button\height#=ImageHeight(Button\image1
end function
.
Just some pseudo code...
That's basically how I did my old GUI... except that 'code' doesn't work.
Global B_Norm = Normal Image Global B_Over = Mouse-over Image Global B_Down = Mouse-click Image Type Button Parent.Object Caption Identifier ;used in a Select:Case:End Select to update it X,Y,Width,Height End Type Function AddButton.Button(P.Object,Image If Not (All the parameters are true values) Then Return Null B = New Button ;Assign all the same values to the new object Return B End Function Function UpdateButtons() Local B.Button For B = Each Button Select B.Identifier Case Button type 1 ;update accordingly if (within(mousex(),mousey(),b.width,b.height)) then if (mousedown(1) or mousehit(1) then ;draw the click image else ;draw the mouse-over image endif else ;draw the normal image endif Case Button type 2 ;repeat but with slightly different stuff End Select Next Return True End Function
That's basically how I did my old GUI... except that 'code' doesn't work.
Thanks XMLspy I was wondering how to do this!
.
Noel... gonna try and implement yours... will scream for help if I need the Dread Pirate Cower... ;)
RZ
RZ
Good lord, that code I wrote is horrible...
yes but it can be saved... we can rebuild it... make it better... stronger... faster... The Six Million Dollar Button Code.... dunh dunh da nah...
RZ
RZ