rechtecke löschen

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

mabox

Betreff: rechtecke löschen

BeitragMo, Jul 07, 2008 20:50
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo ich willl mit folgendem Code die angezeigten Rechtecke durch Mausklick darauf löschen.
leider kann man sie bis jetzt nur in einer Reihenfolge löschen, aber ich will, dass man auch einzelne rauslöschen kann. Was muss ich ändern?

Code: [AUSKLAPPEN]
Graphics 800,600,0,2
SetBuffer BackBuffer()
timer = CreateTimer(60)

Type spast
   Field x
   Field y
End Type

For i = 1 To 10
   info.spast = New spast
   info\x = i * 45
   info\y = i * 45
Next

While Not KeyHit (1)
   Update_spast()
   Flip 0
   WaitTimer(timer)
   Cls
Wend

Function Update_spast()
   For info.spast = Each spast 
      Rect info\x , info\y,45,45
      If MouseX() > info\x And MouseX() < info\x + 45 And MouseY() > info\y And MouseY() < info\y + 45 And MouseHit(1) Then
         Delete info.spast
      EndIf
   Next
End Function
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

xaerox

BeitragMo, Jul 07, 2008 21:05
Antworten mit Zitat
Benutzer-Profile anzeigen
in der schleife anzeigen und dann wenn der benutzer gemacht hat (Keyhitoderso) dann cls
Biker sind wahre Helden.
Auch Musiker.

mabox

BeitragMo, Jul 07, 2008 21:21
Antworten mit Zitat
Benutzer-Profile anzeigen
äh irgendwie versteh ich nicht ganz was du sagen willst. Was soll ich in der Schleife anzeigen?
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

xaerox

Betreff: hioer

BeitragMo, Jul 07, 2008 21:24
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Graphics 800,600,0,2
SetBuffer BackBuffer()
timer = CreateTimer(60)

Type spast
   Field x
   Field y
End Type

For i = 1 To 10
   info.spast = New spast
   info\x = i * 45
   info\y = i * 45
Next

While Not KeyHit (1)
   Update_spast()
   Flip 0
   WaitTimer(timer)
   Cls
Wend

Function Update_spast()
   For info.spast = Each spast 
      Rect info\x , info\y,45,45
      If MouseX() > info\x And MouseX() < info\x + 45 And MouseY() > info\y And MouseY() < info\y + 45 And MouseHit(1) Then
         Delete info.spast
      EndIf
   Next
End Function

ist dieses spast das rect?
info.spast?
ich wüsste gern, was du mit dem code machen willst ein malprogramm?
Biker sind wahre Helden.
Auch Musiker.

mabox

BeitragMo, Jul 07, 2008 21:30
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Code den du jetzt gepostet hast ist der selbe den ich oben gepostet hab. Der bringt mir garnichts.

Ja, info.spast ist das rect.

Nein der Code wird kein Malprogramm. Bis jetzt bleibts noch geheim was es wird.... Smile
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

xaerox

BeitragMo, Jul 07, 2008 21:52
Antworten mit Zitat
Benutzer-Profile anzeigen
du hast theoretisch das schon richtg reingeschrieben das mit dem delet info.spast.
ich würde wenn halt zur not (ist scheiße, ungünstig, blöd, nervig) dann statt delet...dann einfach cls einsetzen, sodass das bild gelöscht wird.

EDIT: soll es praktisch wenn du auf das rect draufklickst dan löschen?, bei mir gehts einmalfrei...
Biker sind wahre Helden.
Auch Musiker.

mabox

BeitragMo, Jul 07, 2008 22:00
Antworten mit Zitat
Benutzer-Profile anzeigen
neinein, das mit cls geht auf keinen Fall.

Ja es soll das rechteck genau beim draufklicken löschen, aber man soll auch rechtecke mittendrin weglöschen können und nicht nur nach der Reihenfolge.
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

xaerox

BeitragMo, Jul 07, 2008 22:06
Antworten mit Zitat
Benutzer-Profile anzeigen
achso...
habe 2 möglichkeiten...entweder hard coded
Code: [AUSKLAPPEN]

If MouseX() > info\x And MouseX() < info\x + 45 And MouseY() > info\y And MouseY() < info\y + 45 And MouseHit([b]dasda was ich dan reinschreib[/b]) Then ...


also dann darein:
1 or 2or or3 or4 or5...
2 or 3 or
3 or...
Biker sind wahre Helden.
Auch Musiker.

mabox

BeitragMo, Jul 07, 2008 22:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry irgenwie versteh ich nicht ganz was du meinst.
bitte beschreibe doch ausführlicher was du sagen willst

bist du dir überhaupt sicher, dass du verstanden hast was der Code machen soll? irgendwie scheint es mir nicht ganz so?
Question
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

Xeres

Moderator

BeitragMo, Jul 07, 2008 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Erst mal die ganzen Funktionen in Globalen Variablen anlegen die in der Hauptschleife aktualisiert werden, dass schafft Übersicht und löst bekannte Probleme wenn die Funktion Mousehit() öfters mal gebraucht wird...
Code: [AUSKLAPPEN]

Global mx, my, mh1, mh2, md1, md2
[...]
mx = MouseX()
my = MouseY()
mh1 = MouseHit(1)
mh2 = MouseHit(2)
md1 = MouseDown(1)
md2 = MouseDown(2)
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

mabox

BeitragMo, Jul 07, 2008 22:35
Antworten mit Zitat
Benutzer-Profile anzeigen
okay ich habs jetzt geschafft Very Happy Danke!
Fujitsu-Siemens Laptop, 2Ghz Intel Core2Duo Prozessor, 2GB Ram, 120GB Festplatte, ATI Mobility Radeon X1400, Windows Vista Ultimate
www.mausoft.de.tl
Dönerfresser Homepage

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group