Menü
Übersicht

![]() |
ToeBBetreff: Menü |
![]() Antworten mit Zitat ![]() |
---|---|---|
Weiß nich wie man Menü erstellt (will das ich zwei Programm -"blocks" einzeln ansteuern kann, und zwar mit Maus...) | ||
![]() |
FOODy |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann finde heraus wie es geht.
Es gibt soviele Tutorials für BlitzBasic, da wird auch bestimmt was zu Menü stehen. Hast du schon das Tut von Rob angesehen? Hier ist eine Kleine Liste: http://www.robsite.de/tutorials.php?tut=blitzbasic Und hier Robs Tut: http://www.robsite.de/tutorials.php?tut=blitzbasic Viel Spaß beim selber schreiben. Gruß, FOODy EDIT: Bitte nimm es mir nicht übel, es ist nur zu deinem Besten ;D |
||
BlitzMax + MaxGUI, 64-bit Arch Linux: Intel Core² E8500 | 8 GB Ram | GeForce GTX 460 · 1024 MB |
![]() |
TheMatrix |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hab ma meine Mini-Gadget Funktion ausgekramt. Viel Spass damit ^^
Code: [AUSKLAPPEN] Graphics 640,480,16,2
Type gadget Field x Field y Field sizex Field sizey Field unpressed Field pressed Field caption$ Field hide Field group Field art Field style Field data1 Field data2 Field data3 End Type Global button.gadget Global mdown, event_art, event_source b1 = create_button("Menu1",175,200,100,20,0) b2 = create_button("Menu2",375,200,100,20,0) ende = create_button("Ende",270,400,100,20,0) back1 = create_button("Zurück",270,400,100,20,1) back2 = create_button("Zurück",270,400,100,20,2) Repeat WaitEvent(fps) Cls es = event_source ; <-- gibt den gedrückten Button zurück Select es ; <-- Sucht den gedrückten Button und führt den Befehl mit case aus Case b1 : group = 1 Case b2 : group = 2 Case back1 : group = 0 Case back2 : group =0 Case ende : End End Select ; Hier die Verschiedenen Menüpunkte. Group gibt dabei die Gruppe an, in der du dich befindest If group=0 Text 320,100,"Du befindest dich im Hauptmenü",1 End If If group=1 Text 320,100,"Du befindest dich im Menüpunkt 1",1 End If If group=2 Text 320,100,"Du befindest dich im Menüpunkt 2",1 End If draw_gadgets(group) Flip : Delay 50 Forever ; ------------------------ Button Funktionen ------------------------- Function create_button(st$,x,y,x2,y2,group=0,art=0, style=0) button = New gadget button\x = x button\y = y button\sizex = x2 button\sizey = y2 button\caption$ = st$ button\group = group button\art = art button\style = style If art=0 ; Draw Routine - Unpressed button\unpressed = CreateImage(x2+1,y2+1) : SetBuffer ImageBuffer(button\unpressed) Color 80,80,80 : Rect 0,0,x2,y2 Color 128,128,128 : Rect 1,1,x2-1,y2-1 If st$="gr:up" Then draw_pfeil_up 0,(y2/2)-5: button\caption$="" : n=1 If st$="gr:down" Then draw_pfeil_down 0,(y2/2)-1: button\caption$="" : n=2 setfontsize 13 If n=0 Then Color 0,0,0 : Text x2/2,(y2/2)-(FontHeight()/2),st$,1 ; Pressed button\pressed = CreateImage(x2+1,y2+1) : SetBuffer ImageBuffer(button\pressed) Color 40,40,40 : Rect 0,0,x2,y2 Color 60,60,60 : Rect 1,1,x2-1,y2-1 If n=1 Then draw_pfeil_up 0,(y2/2)-5: button\caption$="" : st$="" If n=2 Then draw_pfeil_down 0,(y2/2)-1: button\caption$="" : st$="" setfontsize 12 Color 0,0,0 : Text 1+x2/2,1+(y2/2)-(FontHeight()/2),st$,1 End If SetBuffer BackBuffer() Return button\unpressed End Function Function draw_gadgets(gr=0) mx = MouseX() : my = MouseY() : event_source=0 : event_art=0 For button=Each gadget If button\hide=0 And gr=button\group x = button\x : y = button\y : x2 = button\sizex : y2 = button\sizey If MouseDown(1) Or mdown If mx>=x And mx<x+x2 And my>=y And my<y+y2 And clicked=0 If mdown=0 Then mdown=1 Else If MouseDown(1)=0 Then mdown=2 : event_art=$401 : event_source = button\unpressed : mdown=0 clicked=1 Else End If End If If clicked=1 Then img = button\pressed : clicked=2 Else img = button\unpressed DrawBlock img,x,y End If Next If MouseDown(1)=0 And mdown=1 Then mdown=0 End Function Function hide_gadget(gadget,s=1) findgadget gadget; : button\hide = s End Function Function show_gadget(gadget) hide_gadget(gadget,0) End Function Function draw_pfeil_down(x,y) Color 0,0,0 s = 2 sx = 20 : sxm=sx/2 b = 5 sy = 20 For z=y To y+sy s=s+1 : b=b-2 For a=x To x+sx If a>s And a<sx-s And (a<sxm-b/2 Or a>sxm+b/2) Then Plot a,z Next Next End Function Function draw_pfeil_up(x,y) Color 0,0,0 y=y-14 s = 2 sx = 20 : sxm=sx/2 b = 5 sy = 20 For z=y+sy To y Step-1 s=s+1 : b=b-2 For a=x To x+sx If a>s And a<sx-s And (a<sxm-b/2 Or a>sxm+b/2) Then Plot a,z Next Next End Function Function movegadgety(gadget,y) For button=Each gadget If button\unpressed = gadget Then button\y=button\y+y : Exit Next End Function Function setgadgetcaption(gadget,st$) findgadget gadget : button\caption$ = st$ refreshgadget gadget End Function Function findgadget(gadget) For button=Each gadget If button\unpressed = gadget Then Return gadget Next End Function Function refreshgadget(gadget) findgadget gadget x2 = button\sizex : y2 = button\sizey : st$ = button\caption$ If button\art=0 SetBuffer ImageBuffer(button\unpressed) Color 128,128,128 : Rect 1,1,x2-1,y2-1 Color 0,0,0 : Text x2/2,(y2/2)-(FontHeight()/2),st$,1 SetBuffer ImageBuffer(button\pressed) Color 60,60,60 : Rect 1,1,x2-1,y2-1 Color 0,0,0 : Text 1+x2/2,1+(y2/2)-(FontHeight()/2),st$,1 End If SetBuffer BackBuffer() End Function Function setfontsize(s) s1 = s*scal_x# : s2 = s*scal_y# FreeFont font font = LoadFont("Arial",s1,s2) : SetFont font End Function |
||
°_° °.° °~° °v° .. -.- |
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
[quote="TheMatrix"]Hab ma meine Mini-Gadget Funktion ausgekramt. Viel Spass damit ^^
Danke Dafür ![]() |
||
![]() |
Schranz0r |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hirn einschalten, und mal selber was überlegen, und nicht so Dumme fragen hier stellen!
Sorry, ist net böse gemeind, ist aber so. Du kannst nichst dazu lernen, wenn du nur Codes von anderen Past in dein Programm/Game. Wie schonmal zu dir gesagt wurde, Tutorials lesen!! Da erübrigen sich deine Fragen von ganz alleine, und die Admins sind nicht so genervt von dir. ![]() |
||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! |
![]() |
d-bug |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich mach es ja nicht gerne, aber ich gebe Schranz0r mal recht, darum :
https://www.blitzforum.de/foru...990#210990 ~GESCHLOSSEN~ |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group