Menü

Übersicht BlitzBasic Beginners-Corner

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.

ToeB

Betreff: Menü

BeitragMo, Okt 09, 2006 16:07
Antworten mit Zitat
Benutzer-Profile anzeigen
Weiß nich wie man Menü erstellt (will das ich zwei Programm -"blocks" einzeln ansteuern kann, und zwar mit Maus...)

FOODy

BeitragMo, Okt 09, 2006 16:11
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Okt 09, 2006 16:34
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Okt 09, 2006 16:47
Antworten mit Zitat
Benutzer-Profile anzeigen
[quote="TheMatrix"]Hab ma meine Mini-Gadget Funktion ausgekramt. Viel Spass damit ^^

Danke Dafür Very Happy !!!

Schranz0r

BeitragMo, Okt 09, 2006 22:03
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Very Happy
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!!HAUPTSACH et kost VIEL!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

d-bug

BeitragMo, Okt 09, 2006 22:08
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich mach es ja nicht gerne, aber ich gebe Schranz0r mal recht, darum :

https://www.blitzforum.de/foru...990#210990

~GESCHLOSSEN~

Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group