Mausklick auf bestimmte Fläche

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

Nikke_94

Betreff: Mausklick auf bestimmte Fläche

BeitragFr, Jun 18, 2010 13:28
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo Leute,
Ich bin neu im BlitzBasic Abteil Wink Und ich bringe mir das grade selber bei und fange auch grade erst an ;=)
Ich habe eine Frage und zwar. Ich möchte gerne, dass eine bestimmte Aktion ausgeführt wird, wenn man auf einen Button klickt. Dieser Button ist ein Rechteck in dem ein Text steht. Wie mache ich das?
MFG
Niklas
 

mDave

BeitragFr, Jun 18, 2010 13:36
Antworten mit Zitat
Benutzer-Profile anzeigen
Du überprüfst mit [[MouseX()]] und [[MouseY()]] ob sich der Mauszeiger in dem Rechteck befindet.
Also:

Code: [AUSKLAPPEN]

If MouseX()>20 and MouseX()<40 and MouseY()>0 and MouseY()<20 and MouseHit(1) Then
Do something
End If


Nur so als Beispiel.

FireballFlame

BeitragFr, Jun 18, 2010 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Um das ein bisschen schöner aussehen zu lassen, gibt es auch die Funktion RectsOverlap.

BlitzBasic: [AUSKLAPPEN]
Local MouseHit1 = MouseHit(1)

If RectsOverlap(MouseX(),MouseY(),1,1,ButtonX,ButtonY,ButtonWidth,ButtonHeight) And MouseHit1
mache was
End If
ButtonX und ButtonY geben dann die linke obere Ecke deines Buttons an, ButtonWidth die Breite und ButtonHeight die Höhe.
 

Nikke_94

Betreff: Danke ;)

BeitragFr, Jun 18, 2010 13:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke Wink Mit der ersten Antwort hats geklappt! Nur muss man ElseIf nicht vergessen. Sonst gehts auch nicht, weil die Nachricht die rauskommt oder die Funktion sofort ausgeführt wird. Und nur als Info: Ich programmiere kein Spiel sondern ein Programm. Ein Tool. Eins für die Schule gewissermaßen. Es ist aber keine Hausaufgabe oder sowas sondern ein privates Projekt. Das soll CaroIserv - Tool heisen. Ich habe auch www.caroiserv.de und die "Partnerseiten" erstellt.

Danke an euch allen Wink
 

Nikke_94

Betreff: Eine Frage noch

BeitragFr, Jun 18, 2010 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Eine frage noch. Wie kann ich das mit mehreren Machen? also ich habe insgesammt 4 Kästchen glaube ich. Und wie mach ich das dann ?
Mit Case?
 

TheMuffi

BeitragFr, Jun 18, 2010 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
nein, du musst nichts anders machen, du musst es für jeden button doch einfach nur so machen wie bei mDave hier, nur das du halt jedesmal etwas anderes dann machst. Z. B. könntest du jedesmal eine andere function laden
Beispiel:

BlitzBasic: [AUSKLAPPEN]
If MouseX()>0 And MouseX()<20 And MouseY()>0 And MouseY()<20 And MouseHit(1) Then 
;jetzt läds du die Function
Enter()
End If

If MouseX()>20 And MouseX()<40 And MouseY()>0 And MouseY()<20 And MouseHit(1) Then
;jetzt läds du die Function
Zurück()
End If

If MouseX()>40 And MouseX()<60 And MouseY()>0 And MouseY()<20 And MouseHit(1) Then
;jetzt läds du die Function
Optionen()
End If

If MouseX()>60 And MouseX()<80 And MouseY()>0 And MouseY()<20 And MouseHit(1) Then
;jetzt läds du die Function
Sonstwas()
End If
 

Nikke_94

BeitragFr, Jun 18, 2010 14:49
Antworten mit Zitat
Benutzer-Profile anzeigen
Ok Danke =D =D =D

Eingeproggt

BeitragFr, Jun 18, 2010 14:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Und da würde es dann doch helfen den Tipp von FireballFlame zu beherzigen, und MouseHit zwischen-zu-speichern, sonst kommt bald die Frage warum das ned geht wie Muffi es gepostet hat Wink
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9

Midimaster

BeitragFr, Jun 18, 2010 15:28
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]

If MouseHit(1) Then

If MouseX()>0 And MouseX()<20 And MouseY()>0 And MouseY()<20 Then
;jetzt läds du die Function
Enter()

ElseIf MouseX()>20 And MouseX()<40 And MouseY()>0 And MouseY()<20 Then
;jetzt läds du die Function
Zurück()

ElseIf MouseX()>40 And MouseX()<60 And MouseY()>0 And MouseY()<20 Then
;jetzt läds du die Function
Optionen()

ElseIf MouseX()>60 And MouseX()<80 And MouseY()>0 And MouseY()<20 Then
;jetzt läds du die Function
Sonstwas()
End If

EndIf

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group