"Zeichnen"

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

totonak5

Betreff: "Zeichnen"

BeitragMo, Aug 23, 2004 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!

hab (schon wieder) ein problem Wink
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

BeitragMo, Aug 23, 2004 22:12
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Aug 23, 2004 22:17
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

; schwarze Fläche, als Ersatz für CLS
Color 0,0,0
Rect 0,0,640,480


=

Code: [AUSKLAPPEN]

Cls


Exclamation Idea
~ Hey Ho Let's Go ~

dominik

BeitragMo, Aug 23, 2004 22:20
Antworten mit Zitat
Benutzer-Profile anzeigen
was wilst du uns jetz damit sagen? Das das das (<<<Very Happy Very Happy Very Happy )gleiche ist hat der ralf auch schon hingeschreiben Question Question Question

Kabelbinder

Sieger des WM-Contest 2006

BeitragMo, Aug 23, 2004 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
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 Embarassed

Also man speichert die rects in einem Array. Type wäre vielleicht besser, aber sowas nehm ich nicht. Laughing
<Wing Avenger Download> ◊◊◊ <Macrophage Download>
 

Blitzkrieg Bop

BeitragMo, Aug 23, 2004 22:47
Antworten mit Zitat
Benutzer-Profile anzeigen
Mensch, nehmt bitte CLS!
Was soll der Anfänger denn hier lernen? Evil or Very Mad
~ Hey Ho Let's Go ~

Ralf

BeitragMo, Aug 23, 2004 22:57
Antworten mit Zitat
Benutzer-Profile anzeigen
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

BeitragMo, Aug 23, 2004 23:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Das will ich hoffen. Laughing
~ Hey Ho Let's Go ~

DivineDominion

BeitragDi, Aug 24, 2004 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
Kann dir https://www.blitzforum.de/viewtopic.php?t=5354 vielleicht irgendwie weiterhelfen? Wegen Mausabfragen z.B. und so Smile Ansosnten wäre es fürs Erstellen von unbekannt vielen Quadraten gewiss ganz praktisch, wenn du dir TYPEs aneignest. Schon mal was dmait gemacht?
christian.tietze@gmail.com - https://christiantietze.de
macOS

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group