Menü

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

totonak5

Betreff: Menü

BeitragDo, Aug 12, 2004 21:02
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

Bin BB Anfänger.
Könnt ihr mir da helfen? Ich habe ein sehr einfaches Menü und nach dem Klick auf ein Button soll sich dieses Button verfärben. Ich habe da doch ein Problem!
Am besten sehr ihr euch das selbst mal an!
Graphics 640, 480
SetBuffer BackBuffer()
MoveMouse(240,100)
HidePointer

; LADEN
; Font
Times = LoadFont("New Times Roman", 35,0,0,0)
SetFont Times

; "VORBEREITUNG"

Data 50,110,170,230

Dim Quadrate(3,2)
For I = 0 To 3
Quadrate(I,1) = 200
Quadrate(I,0) = 0
; Einlesen
Read Quadrate(I,2)
Next

; HAUPTSCHLEIFE

Repeat
ClsColor 0,0,55
Cls
X = MouseX()
Y = MouseY()

For I = 0 To 3
If RectsOverlap(X,Y,10,10,Quadrate(I,1),Quadrate(I,2),200,45) And MouseDown(1) Then
Quadrate(I,0) = MilliSecs()
EndIf
Next
For I = 0 To 3
If Quadrate(I,0) + 3000 < MilliSecs() Then Quadrate(I,0) = 0
Color 0,80,0
If Quadrate(I,0) = 0 Then
Color 80,0,0
EndIf
Next
For I = 0 To 3
Rect Quadrate(I,1), Quadrate(I,2), 200,45
Next
Color 175,175,175
Rect X,Y,10,10
Flip
Until KeyHit(1)



Danke für eure Hilfe!
Aron 8)
Just for Fun!
Jesus loves U!

Blitzer

Betreff: So in etwa!

BeitragDo, Aug 12, 2004 23:37
Antworten mit Zitat
Benutzer-Profile anzeigen
Meinst du es so!

Code: [AUSKLAPPEN]
Graphics 640, 480
SetBuffer BackBuffer()
MoveMouse(240,100)
HidePointer

; LADEN
; Font
Times = LoadFont("New Times Roman", 35,0,0,0)
SetFont Times

; "VORBEREITUNG"

Global Ein

Data 50,110,170,230

Dim Quadrate(3,2)
For I = 0 To 3
Quadrate(I,0) = 200
Quadrate(I,2)=I
Read Quadrate(I,1)
Next

; HAUPTSCHLEIFE

ClsColor 0,0,55

Repeat
Cls
X = MouseX()
Y = MouseY() 
If MouseHit(1)
For I=0 To 3
If RectsOverlap(Quadrate(I,0),Quadrate(I,1),200,45,X,Y,10,10)
   Ein=Quadrate(I,2)+1
EndIf
Next
EndIf
For I = 0 To 3
If Quadrate(I,2)=Ein-1
Color 0,255,0
Else
Color 255,0,0
EndIf
Rect Quadrate(I,0), Quadrate(I,1), 200,45
Next
Color 175,175,175
Rect X,Y,10,10
Flip
Until KeyHit(1)
End


Razz Razz Razz
Nichts ist mehr so wie es einmal war mit
------------------Blitzbasic------------------

Athlon 3000+, 1 GBRam DDR, Geforce FX 5500, 120 GB Fesplatte
Sempron 2200+, 512 MBRam DDR, Geforce FX 5200, 60 GB Festplatte

Bms

BeitragFr, Aug 13, 2004 13:51
Antworten mit Zitat
Benutzer-Profile anzeigen
hy
hab mir vo längerm mal eine Schaltflächenfunktion geschrieben. Vielleicht hilft dir das ja weiter. die verfärbt sich aber eigentlich nich richtig (siehe windows-schaltflächn ) . hier:

Code: [AUSKLAPPEN]

Function Schfl(x,y,br,ho,txt$)
 Color 255,0,0: Rect x,y,br,ho: Color 127,0,0
 Rect x+1,y+1,br-1,ho-1: Color 64,0,0: Rect x,y+ho,br+1,1
 Rect x+br,y,1,ho: Text x+(br/2),y+(ho/2),txt$,1,1
 If RectsOverlap(x,y,br,ho,MouseX(),MouseY(),1,1)Then
  If MouseDown(1)Then
   Color 64,0,0: Rect x,y,br,ho: Color 127,0,0
   Rect x+1,y+1,br-1,ho-1: Color 255,0,0: Rect x,y+ho,br+1,1
   Rect x+br,y,1,ho: Color 255,128,0: Text x+(br/2),y+(ho/2),txt$,1,1
   Return 2
  Else Return 1 EndIf
 EndIf
End Function


Die Schaltfläche ist dunkelrot.
Return-Werte:

0 = nixx
1 = Mauszeiger berührt schfl. ; kein mausklick
2 = Klick auf schfl.

Exclamation txt$ = Beschriftung der Schaltfläche (z.B. "Start")

Exclamation Nach der Funktion delay+Flip verwenden, sonst sieht man nicht, dass sich die schfl. verändert.

ich hoffe, ich konnte dir weiterhelfen Smile

bms

rezoad

BeitragFr, Aug 13, 2004 15:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hiho!
Geht das nicht so, dass man mit Mauszeiger-Position kontrolliert ob er auf dem Rechteck ist und dann sobald er drauf ist, aus dem grauen Rechteck ein rotes wird in dem man ein rotes per "if" drübermalt.

In Worten:
If "Maus" auf "gr. Schaltfläche" Then
"rote Schaltfläche" auf Position von "gr. Schaltfläche"


??
HAb ja nicht die Ahnung!
Bis denne,
Mathias



__________________________________________
AMD Athlon64 | Sapphire Radeon 9800 |
G.E.I.L. 512MByte PC3200 DDR |
Seagate S-ATA 80GByte | Windows 2000 Pro

Hubsi

BeitragFr, Aug 13, 2004 16:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Logens:Code: [AUSKLAPPEN]
mx=MouseX()
my=MouseY()
If mx>100 And mx<200 And my>100 And my<150
 Color 128,128,128
 Rect 100,100,100,50,1
Else
 Color 255,0,0
 Rect 100,100,100,50,1
EndIf
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Bms

BeitragSa, Aug 14, 2004 10:30
Antworten mit Zitat
Benutzer-Profile anzeigen
@hubsi: mousedown() vergessen! die schaltfläche verfärbt sich schon wenn du draufzeigst (nicht schlecht, es war aber etwas anderes gefragt Very Happy )

Hubsi

BeitragSa, Aug 14, 2004 12:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Embarassed Hätte er aber auch fett schreiben können Very Happy Very Happy
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group