Der Line-Befehl mit der Maus?

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

Bladeknight

Betreff: Der Line-Befehl mit der Maus?

BeitragSo, März 20, 2005 14:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
Ich habe wieder mal ein Problem.
Ich arbeite zurzeit an einem kleinen Bildbearbeitungsprogramm, PIX.So, da ist ja nix weiter dabei, aber ich sitzte zurzeit grad an der 2. Funktion dieses Programms und die ist der Line-Befehl.Der Anwender soll mit der Maus eine Linie von dem Punkt wo sich die Maus JETZT befindet zu einem Punkt zeihen können wo die Maus aufhört.
Also z.b.
640,480 - 600,480.
So jetzt gebe ich der Maus eben 2 Varis
Code: [AUSKLAPPEN]
mausx = MouseX()
mausy = MouseY()

Und mache den Line-Befehl:
Line mausx,mausy,?,?
Was muss jetzt dahinter?

Ich habe schon alles probiert, ich habe der Maus 4 Varis gegeben, und und und.

Jetzt bräuchte ich schnelle Hilfe da ich schnell weitermachen möchte.
Exclamation

Danke im vorraus.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, März 20, 2005 14:40
Antworten mit Zitat
Benutzer-Profile anzeigen
BlitzBasic: [AUSKLAPPEN]
Graphics 800 ,600,16,2
Global x1,x2,erste_Position_bekannt
Type lines Field a1,a2,b1,b2 End Type

SetBuffer BackBuffer ()
While Not KeyDown (1)
createlines()
UpLine ()
Flip
Cls
Wend
End

Function createlines()
If MouseHit (1) Then
If erste_Position_bekannt = 0 Then
x1 = MouseX ()
x2 = MouseY ()
erste_Position_bekannt = 1
Else
x.lines = New lines
x\a1 = MouseX ()
x\a2 = MouseY ()
x\b1 = x1
x\b2 = x2
erste_Position_bekannt = 0
End If
End If
If erste_Position_bekannt = 1 Then Line x1,x2,MouseX () ,MouseY ()
End Function

Function UpLine ()
For x.lines = Each Lines
Line x\a1,x\a2,x\b1,x\b2
Next
End Function

etwa so ......
Und das ganze hat sehr wenig mit Blitz Plus Gui zu tun und gehört normal in den 2D Bereich!
[BB2D | BB3D | BB+]
 

Bladeknight

BeitragSo, März 20, 2005 14:44
Antworten mit Zitat
Benutzer-Profile anzeigen
@Rallimen:
Hey Danke! Aber gibt es auch eine Möglichkeit es so zu machen dass man nur ansetzen muss und man nicht nochmal klicken muss um die nächste Line zu machen? (Hört sich etwas dumm an aber besser kann ichs ncith erklären^^)

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, März 20, 2005 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
natürlich, aber das ist auch relativ einfach BlitzBasic: [AUSKLAPPEN]
Graphics 800 ,600,16,2
Global x1,x2,erste_Position_bekannt ,LineLineOn
Type lines Field a1,a2,b1,b2 End Type
SetBuffer BackBuffer ()

While Not KeyDown (1)
createlines ()
UpLine ()
Flip
Cls
Wend

End

Function createlines ()
If KeyHit (57) Then LineLineOn = LineLineOn Xor 1; Space
If MouseHit (1) Then
If erste_Position_bekannt = 0 Then
x1 = MouseX ()
x2 = MouseY ()
erste_Position_bekannt = 1
Else
x.lines = New lines
x\a1 = MouseX ()
x\a2 = MouseY ()
x\b1 = x1
x\b2 = x2
If LineLineOn Then
x1 = MouseX ()
x2 = MouseY ()
Else
erste_Position_bekannt = 0
End If
End If
End If
If erste_Position_bekannt = 1 Then Line x1,x2,MouseX () ,MouseY ()
End Function

Function UpLine ()
For x.lines = Each Lines
Line x\a1,x\a2,x\b1,x\b2
Next
End Function

Mit der SpaceTaste wechselst du in den Line an Line Modus und wieder zurück
den Rest schaffst du aber sicher selber!
[BB2D | BB3D | BB+]
 

Bladeknight

BeitragSo, März 20, 2005 14:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Rallimen hat Folgendes geschrieben:
den Rest schaffst du aber sicher selber!

Na klar, aber ich habe das hier in den Blitz+ Bereich gestellt weil ich dachte das es bei Blitz2D vielleicht wieder anders ist.

Aber vielen Dank für die Hilfe.

Rallimen

Sieger des 30-EUR-Wettbewerbs

BeitragSo, März 20, 2005 15:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Da hast du recht, bei Blitz Plus ist einiges anders...
und hat mehr Unterschiede als manche denken...
[BB2D | BB3D | BB+]

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group