"Zeichnen"
Übersicht

totonak5Betreff: "Zeichnen" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
hab (schon wieder) ein problem ![]() seht euch mal den quellcode an: Graphics 640,480 SetBuffer BackBuffer() HidePointer Nehmen = 0 Repeat ; schwarze Fläche, als Ersatz für CLS Color 0,0,0 Rect 0,0,640,480 ; Quadrat Color 255,0,0 Rect 100,200,60,60 ; Quadrat "nehmen" If RectsOverlap(X,Y,10,10, 100,200,60,60) And MouseHit(1) Then Nehmen = 1 If Nehmen = 1 Then Color 255,0,0 Rect X,Y,60,60 EndIf If MouseHit(2) Then Nehmen = 0 ; Maus X = MouseX() Y = MouseY() Color 255,255,255 Rect X,Y,10,10 Flip Until KeyHit(1) wie kann ich das machen, dass wenn ich das rote Quadrat "in der Hand halte" noch einmal auf die linke maustaste klicke und das Quadrat wird an dieser Stelle "gezeichnet". Das ursprüngliche Quadrat soll aber erhalten bleiben und man soll noch auf dieses klicken können. ich hoffe ihr versteht was ich meine! lg Aron Danke auch für eure besherige Hilfe! |
||
Just for Fun!
Jesus loves U! |
![]() |
Ralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
etwa so? Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() HidePointer Dim BlockX(50),BlockY(50) anzahl=0 Nehmen = 0 Repeat ; schwarze Fläche, als Ersatz für CLS Color 0,0,0 Rect 0,0,640,480 ; Quadrat Color 255,0,0 Rect 100,200,60,60 ; Quadrat "nehmen" If RectsOverlap(X,Y,10,10, 100,200,60,60) If MouseHit(1) Then Nehmen = 1 EndIf If Nehmen = 1 Then Color 255,0,0 Rect X,Y,60,60 If MouseHit(1) If anzahl<50 anzahl=anzahl+1 BlockX(anzahl)=x BlockY(anzahl)=y EndIf EndIf EndIf If MouseHit(2) Nehmen = 0 EndIf ; Maus If anzahl For x1=1 To anzahl Rect BlockX(x1),blockY(x1),60,60 Next EndIf X = MouseX() Y = MouseY() Color 255,255,255 Rect X,Y,10,10 Flip Until KeyHit(1) Gruß Ralf |
||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Code: [AUSKLAPPEN] ; schwarze Fläche, als Ersatz für CLS Color 0,0,0 Rect 0,0,640,480 = Code: [AUSKLAPPEN] Cls ![]() ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
dominik |
![]() Antworten mit Zitat ![]() |
---|---|---|
was wilst du uns jetz damit sagen? Das das das (<<<![]() ![]() ![]() ![]() ![]() ![]() |
||
![]() |
KabelbinderSieger des WM-Contest 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Code: [AUSKLAPPEN] Graphics 640,480
SetBuffer BackBuffer() HidePointer Dim quat(1000,2) num = 0 Nehmen = 0 Repeat ; schwarze Fläche, als Ersatz für CLS Color 0,0,0 Rect 0,0,640,480 ; Quadrat Color 255,0,0 Rect 100,200,60,60 For i = 0 To num - 1 Rect quat(i,1),quat(i,2),60,60 Next ; Quadrat "nehmen" If RectsOverlap(X,Y,10,10, 100,200,60,60) And MouseHit(1) And Nehmen = 0 Then Nehmen = 1 If Nehmen = 1 Then Color 255,0,0 Rect X,Y,60,60 EndIf If MouseHit(2) Then Nehmen = 0 FlushMouse ;quadrat ablegen If Nehmen = 1 And KeyHit(57)=1 Then Nehmen = 0 quat(num,1)=MouseX() quat(num,2)=MouseY() num = num + 1 EndIf ; Maus X = MouseX() Y = MouseY() Color 255,255,255 Rect X,Y,10,10 Text 0,0,Nehmen,0,0 Flip Until KeyHit(1) man kann das rect mit der Leertaste ablegen, mit der Maus hab ich irgendwie nicht hingekriegt ![]() Also man speichert die rects in einem Array. Type wäre vielleicht besser, aber sowas nehm ich nicht. ![]() |
||
<Wing Avenger Download> ◊◊◊ <Macrophage Download> |
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mensch, nehmt bitte CLS!
Was soll der Anfänger denn hier lernen? ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
Ralf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
er wird wohl wissen was der Befehl "cls" ist. Er hat ja nun selbst geschrieben "als Ersatz für cls"! Gruß Ralf |
||
Blitzkrieg Bop |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das will ich hoffen. ![]() |
||
~ Hey Ho Let's Go ~ |
![]() |
DivineDominion |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann dir https://www.blitzforum.de/viewtopic.php?t=5354 vielleicht irgendwie weiterhelfen? Wegen Mausabfragen z.B. und so ![]() |
||
christian.tietze@gmail.com - https://christiantietze.de
macOS |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group