Mausklick

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

Alandir

Betreff: Mausklick

BeitragMi, Sep 12, 2007 18:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich habe ein kleines Problem. Ich möchte eine Maus erstellen die auf ein Icon klicken kann. Dazu hab ich geschrieben: If X=100 and Y=100 and Mousedown (1) then..... aber es passiert immer nichts Question

Kann mir da jemand helfen?

hectic

Sieger des IS Talentwettbewerb 2006

BeitragMi, Sep 12, 2007 18:27
Antworten mit Zitat
Benutzer-Profile anzeigen
Genau den einen Pixel zu treffen ist nicht grad einfach. Dafür gibt es folgenden Befehl:

ql:RectsOverlap

Die Maus hat dann halt nur 1x1 Dicke...
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D
 

Lador

BeitragDo, Sep 13, 2007 15:32
Antworten mit Zitat
Benutzer-Profile anzeigen
Weder die Maus noch das Bild hat 1x1 Dicke:

Code: [AUSKLAPPEN]
If MouseX() >= 100 And MouseX() <= 100+ImageWidth(icon) Then
 If MouseY() >= 100 And MouseY() <= 100+ImageHeight(icon) Then
  ;deine Befehle...
 EndIf
EndIf


MFG Lador

hectic

Sieger des IS Talentwettbewerb 2006

BeitragDo, Sep 13, 2007 16:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielleicht schaust du dir erstmal die Möglichkeiten von RectsOverlap mal an, bevor du diese verdonnerst. Wink

Deine Vier IF-Abfragen kannst du alle mit nur diesem einem Befehl leichter handhaben.
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D

Alandir

BeitragDo, Sep 13, 2007 17:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Vielen Dank für eure Hilfe hat klasse funktioniert obwohl ich den Code besser fand da ich die Erklährung von RectsOverlap nicht richtig verstanden habe. Very Happy aber auch vielen Dank

BigMaexle

BeitragDo, Sep 13, 2007 18:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi, wenn du den Code von Lador verstanden hast, hast du zeimlich genau das Prinzip von Rectsoverlap verstanden

du musst insgesamt 8 Werte (Parameter) eingeben:

Die ersten sind die Koordinaten des einen Rechteck, nehmen wir Die Maus als 1. Rechteck, damit sind die ersten beiden Parameter MouseX() und MouseY()

Die nächsten beiden sind die höhe und die breite deines Rechteckes, Die Maus ist natürlich nur ein Punkt und hat damit die Größe 1x1. Also sind die nächsten beiden Werte 1 und naaa... auch 1.

jetzt ist das nächste Rechteck ,dein Icon, dran, genauso: Deine Koordinaten für den Icon sind wie man gesehn hat X:100 und Y:100 also sind die nächsten beiden werte 100 und 100.

Die letzen beiden Werte sind hmm was wohl... ja die Breite und die Höhe des 2. REchteckes. die weiß ich jetzt nich aber wie bei Lador nehmen wir Imagewitdh (icon) und imageHeight(icon).

Und damit ham wir es!
Rauskommt die Funktion, die Überprüft ob sich die beiden eingegebenen Rechtecke überlappen.


Code: [AUSKLAPPEN]
 If rectsoverlap(MouseX(),MouseY(),1,1,100,100,ImageWidth(Icon),ImageHeight(Icon)) = 1 then Print "juhuuu"


EDIT: Ich weiß zwar, dass das Problem gelöst ist aber ich kann doch keinen alleine lassen, der das Prinzip von Rectsoverlap nicht verstanden hat Wink
--------------------------------------
Ich bin unfreiwillig ein Mitglied dieser kapitalistischen Gesellschaft, wo jeder Geldgeile Unternehmer an mein Geld will und ich selbst bei meinen Entscheidungen so gut wie willenlos bin...... und ich bin glücklich drüber

Alandir

BeitragFr, Sep 14, 2007 13:25
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey danke, ich habs jetzt verstanden Very Happy

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group